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对象,不加括号,返回的是函数