var DateUtil = function()
{
var util = {};
util.test = function()
{
return "test";
};
return util;
}();
var t = new DateUtil();
console.log(t.test());
加了括號之後,你定義的那個函數就會自運行,然後返回util這個對象。
也就是DateUtil你本來是要定義一個函數的,但是加了括號之後,那個函數運行後的結果,賦值給了DateUtil。
然後你嘗試這樣執行DateUtil(),但是因爲DateUtil已經被賦值成那個函數return的util對象,所以不能被執行。
1. DateUtil.test()
2. var t = new DateUtil();
2. var t = new DateUtil();
加了括號 用1 去了括號用 2
加括號,返回的是util對象,不加括號,返回的是函數