访问函数内部的函数
function a(){
var test = 1;
var b = function(){
alert(test);
}
return b;
}
var c = a(); //闭包
c();
javascript 语言精粹中解释为
通过函数字面量创建的函数对象包含一个连接到外部上下文的连接.这被成为闭包.
- 函数字面量:
var b = function(){ /*action*/ }
中,function(){ /*action*/ }
被认为是函数字面量,在调用时,函数不会执行,而是被当做数据来传递.
2.上下文: 由context
翻译来,叫容器
可能更恰当一些.其实整个function a(){ }
中出去b
的部分,既是上下文.