javascript积累七
2015-12-08 22:26
676 查看
javascript高级程序设计里看的
function createFunctions(){
var result = new Array();
for(var i=0;i<10;i++){
result[i] = funciton(){
return i;
};
}
return result;
}
最终result数组里的每个无素都为10,因为作用域链的关系,闭包只能取得包含函数中任何变量的最后一个值。
要想返回0、1、2.……
可以这样修改下:
function createFunctions(){
var result = new Array();
for(var i=0;i<10;i++){
result[i] = functions(num){
return function(){
return num;
}
}(i);
}
return result;
}
上面通过创建另一个匿名函数强制让闭包的行为符合预期
function createFunctions(){
var result = new Array();
for(var i=0;i<10;i++){
result[i] = funciton(){
return i;
};
}
return result;
}
最终result数组里的每个无素都为10,因为作用域链的关系,闭包只能取得包含函数中任何变量的最后一个值。
要想返回0、1、2.……
可以这样修改下:
function createFunctions(){
var result = new Array();
for(var i=0;i<10;i++){
result[i] = functions(num){
return function(){
return num;
}
}(i);
}
return result;
}
上面通过创建另一个匿名函数强制让闭包的行为符合预期
相关文章推荐
- ExtJS 4.0 panel居中
- javascript积累六
- 【学习】Javascript设计模式——反模式
- js验证IP及子网掩码的合法性
- js判断ip地址,子网掩码,网关的逻辑性检查
- JSP SMARTUPLOAD组件:上传文件时同时获取表单参数
- 解决JS在url中传递参数时参数包含中文乱码的问题
- sublime3 JavaScript Snippets 插件快捷命令大全
- JavaScript部分知识点汇总
- 在网页中如何使用JS控制input只能输入数字
- js日期时间比较函数
- javascript-一周总结
- html5结合JavaScript实现龙播图
- js判断MAC地址
- js判断浏览器在PC中打开还是移动设备中打开
- Javascript中最常用的55个经典技巧
- html+css+javascript 基础知识(二)
- 学习贪吃蛇JS项目实战笔记3
- 学习贪吃蛇JS项目实战笔记2
- html+css+javascript 基础知识(一)