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()());
浙公网安备 33010602011771号