4 回答
已采纳
Ewall_
TA贡献27条经验 获得超9个赞
先说两个概念:
匿名函数:就像是变量赋值语句;像 var functionName=function(){ };这种就是匿名函数。
闭包:指有权访问另一个函数作用域中的变量和函数。
一般来说常见的这种,在一个函数内部创建另一个函数就是一个闭包。
function functionName1(){ var example="something"; function functionName2(){ //函数体 }; };
functionName2里面的函数体有权访问到它不包含的变量example;此变量在另一个函数中,所以functionName2就是一个闭包。
qq_奈奈奈_03699702
TA贡献19条经验 获得超5个赞
(function(){ var arr=[]; (function(){ console.log(j);//undefined })(); var j=2; function go(){ console.log(j);//2 } for(var i=0;i<5;i++){ arr[i]=function(){ console.log(i); } } return arr[0]();//5 })();
高级程序设计相关部分反复看。
鲈先森
TA贡献5条经验 获得超2个赞
闭包
闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式就是在一个函数内部创建另一个函数。
function outer() {
var localVal = 30;
return function() {
//在函数内创建一个匿名函数,这个函数可以通过作用域链可以访问外部的变量
return localVal;
}
}
var func = outer();
console.log(localVal);// localVal is not defined(…)
//外部无法访问函数内的变量。
func();//30
之前记的笔记,你可以参考一下
添加回答
举报
0/150
提交
取消