闭包
闭包(closure)就是定义在函数体内部的函数。更理论性的表达是,闭包是函数与其生成时所在的作用域对象(scope object)的一种结合。
function f() { var c = function (){}; }上面的代码中,c是定义在函数f内部的函数,就是闭包。
闭包的特点在于,在函数外部可以读取函数的内部变量。
function f() {
var v = 1;
var c = function (){
return v;
};
return c;
}
var o = f();
o();
// 1
上面代码表示,原先在函数f外部,我们是没有办法读取内部变量v的。但是,借助闭包c,可以读到这个变量。
大家可以猜猜 答案是什么?
浙公网安备 33010602011771号