87,904
社区成员
发帖
与我相关
我的任务
分享
var B = function() {};
B.prototype = {
func : function() {
var i = 1;
return function() {
return i++;
}
}()
};
var a = new B().func();
var c = new B().func();
function b(){
var i = 1;
return function() {
return i++;
}
}
var a = b();
var c = b();
a,c的结果为什么是1,1
[code=JScript]
function b(){
var i = 1;
return function() {
return i++;
}
}
var a = b();
var c = b();
func: function () {
var i = 1;
return function () {
return i++;
}
}() //这里定义后马上执行,形成闭包了,i一直存在了,你把后面括号去了
var a = new B().func()();
var c = new B().func()();