javascript闭包的学习
2015-06-02 16:48
537 查看
var arr = []; for (var i = 0; i < 5; i++) { (function (i) { $.ajax({ url: url, data: data, success: function (repsonse) { arr[i] = repsonse; } }); })(i); }
原意是在回调函数内把值赋给对应的i,但由于ajax是异步,完成后i已经不是原来的i.所以利用闭包创造一个作用域来储存当前的i
对闭包的理解就是创造一个作用域.要进一步复习闭包,还是多看慕课网的<javascript深入浅出课程>
相关文章推荐
- 深入理解PHP之匿名函数
- Ruby中使用Block、Proc、lambda实现闭包
- LUA中的闭包(closure)浅析
- Lua中的闭包学习笔记
- C#中函数的创建和闭包的理解
- 深入理解javascript作用域和闭包
- javascript作用域和闭包使用详解
- 谈谈JavaScript中的函数与闭包
- 细品javascript 寻址,闭包,对象模型和相关问题
- JavaScript中的闭包原理分析
- 浅谈javascript中的闭包
- JavaScript 匿名函数和闭包介绍
- JavaScript 闭包深入理解(closure)
- 深入理解JavaScript 闭包究竟是什么
- JavaScript中的闭包(Closure)详细介绍
- 采用自执行的匿名函数解决for循环使用闭包的问题
- javascript闭包的理解
- js闭包的用途详解
- Java函数式编程(五):闭包
- JavaScript 闭包在封装函数时的简单分析