您的位置:首页 > Web前端 > JavaScript

自我学习——javascript——闭包的本质

2013-08-07 17:53 309 查看

  1.闭包的概念

    闭包是指有权访问另一个函数作用域中的变量的函数(注意:闭包是个函数),创建闭包的常见方式是在一个函数内部创建另一个函数(ps:闭包不等于匿名函数,凡是在一个函数内部创建的函数并且内部引用到了外部函数的变量的函数都可以称为闭包,实际上,javascript内的所有函数都是闭包,因为都有作用域链)

  2.闭包的现象

    先上一个例子:

function createFunction() {
var result = new Array();

for (var i = 0; i < 10; i++) {
function xiaosi(num) {
return function() {
return num;
}
}
result[i] = xiaosi(i);
}
return result;
}
var newFun = createFunction();
for (var i = 0, max = newFun.length; i < max; i++) {
console.log(newFun[i]()); //10
}


View Code

  

  

    

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: