js闭包和循环
来源:互联网 发布:最近邻居算法 编辑:程序博客网 时间:2024/06/09 21:31
function box(){ var arr = []; for(var i=0;i<5;i++){ arr[i]=function(){ return i; } } return arr;}var b = box();console.log(b.length);for(var i=0;i<b.length;i++){ console.log(b[i]())}
上面的代码会打印出5个5
因为b[i]()调用的是匿名函数,然而匿名函数并没有自我执行,所以等到调用的时候,box()已经执行完毕。。。。
function box(){ var arr = []; for(var i=0;i<5;i++){ arr[i]=( function(num){ console.log("ccc="+num) return num; } )(i) } return arr;}var b = box();console.log(b.length);for(var i=0;i<b.length;i++){ console.log(b[i])}
执行结果:
num=0num=1num=2num=3num=4501234
修改后让匿名函数自我执行,导致最后b[i]返回的是数组而不再是函数了
0 0
- js闭包和循环
- js闭包和for循环
- 循环和闭包
- JS闭包学习笔记(2):循环和闭包
- js for循环中的闭包
- js for循环中的闭包
- js闭包与for循环
- js延迟打印for循环-闭包
- js数组,循环,闭包问题
- js循环添加onClick事件--js的闭包
- js 解决js for 循环中的闭包问题
- swift 之循环语句和闭包
- 函数和循环闭包的理解
- 函数和循环闭包的理解
- js闭包和闭包范围
- js闭包和闭包范围
- Js闭包和好处
- JS原型和闭包
- C++ int 型负数除法与求模运算
- Javascript的事件机制
- 【Webview相关问题】"控制字符"引发的惨案及Base64
- docker下mysql的完整demo
- 1122. Hamiltonian Cycle (25)
- js闭包和循环
- Java 装箱后数字的比较
- 2016年12月11日 神途发布网新服预告
- 一些编译器版本的_MSC_VER值
- 润乾报表中利用API动态设置左表头
- 自定义Dialog
- 彻底删除MySQL的方法
- Scrapy在win10(64位)的安装说明
- Spring MVC 4.2 增加 CORS 支持