一个闭包小测试
2016-03-01 12:13
246 查看
for(var i = 0; i < 5; i++){ setTimeout(function() { console.log(i); },500); }// 55555 for(var i=0; i < 5; i++){ (function(){ setTimeout(function(){ console.log(i); },500); })(); }//55555 for(var i=0; i < 5; i++){ (function(i){ setTimeout(function(){ console.log(i); },500); })(i); }//01234
settimeout异步执行和闭包的综合;
第一个,没用闭包,定时器在执行时,它的作用域就和for循环外面的一样。第二个,用了闭包,它的作用域就多了一层,这一层里面有自己的变量。
每次for循环都是在注册一个定时器
相关文章推荐
- 1.1.1 基本概念(Basic Concepts)
- 通过定义属性动画资源Property Animation来实现背景色的不断变化
- EXC_BAD_ACCESS的本质详解以及僵尸模式调试原理
- HDU 2553 N皇后问题(回溯法/深度优先搜索)
- FineReport根据点击次数奇偶性排序之字符型
- PLY格式文件具体解释
- python 入门学习
- android Unable to add window -- token null is not for an application
- iOS 证书失效,更换WWDR试一下,吼吼
- MySQL导入.sql文件及常用命令
- PHP里的编译参数--with-config-file-path=/usr/local/php/etc
- Oracle数据库Sql语句详解---函数
- 用最简单的方法实现ViewPager无限循环滑动(跑马灯)效果
- 不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接
- 在团800运维工作总结之redis-cluster使用
- 不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接
- Android 5.0 Material Design系列
- 4.5.2.2 onScrollStateChanged()和onScrolled()的区别
- C语言的宏定义
- Linux系统调优