http://jsbin.com/ufihev/3/edit
这是非常简单的代码:
var t = new function () //line 1
{
this.a1 = function () {
return function () {
alert("1");
};
}();
this.a2 = function () {
alert("a2");
};
}; //line 16
t.a1();
但是jsBin下面的红线告诉我:
代码运行正常。 我做错了什么?第1行:var t = new function () --- 奇怪的构造方式。删除 'new'。
第16行:}; --- 缺少调用构造函数的 '()'。
new function() {}
似乎不是常见的做法。此外,如果jsBin使用jsLint,而jsLint是由Douglas Crockford编写的,并且它告诉你不要那样做,那么我会听从,因为Douglas Crockford是JavaScript大师。 - Hristo