JS典型闭包形式:
要理解闭包,JS函数的作用域、作用域链等,注意下边两段代码的异同。
代码一:
代码二:
function a(){
var i = 1;
function b(){
return ++i;
}
return b;
}
alert(a()());
要理解闭包,JS函数的作用域、作用域链等,注意下边两段代码的异同。
代码一:
var s = "hello window";
var o = {
s:"hello object",
f:function(){
function c(){
return this.s;
}
return c;
}
}
alert(o.f()());
代码二:
var s = "hello window";
var o = {
s:"hello object",
f:function(){
var that = this;
function c(){
return that.s;
}
return c;
}
};
alert(o.f()());