js闭包学习
2016-05-21 21:34
225 查看
概念
闭包是代码块和创建该代码块的上下文中数据的结合简单的例子
一个函数就可以看出一个简单的闭包,函数里的变量只有函数内部能够访问到。function() { var i = 0; }
一个复杂的例子
function createFuntion() { var result = new Array(); for (var i = 0; i < 10; i++) { //这个函数没有执行,但是已经循环结束,i变成了10. result[i] = function() { return i; } } return result; } var funcs = createFuntion(); alert(funcs[0]());
这时alert出来的值是10,因为在循环的时候里面的方法并没有执行,funcs 相当于一个函数数组。
使用场景
有许多js或jquery插件,都会把方法封装到自己的闭包里,以免影响到其他的js代码,例如(function ($) { })(jQuery); //js (function() { })();
闭包还有可能在其他方法中联合一起使用,形成自己的封闭环境。
相关文章推荐
- 深入理解PHP之匿名函数
- 最后一次说说闭包
- Ruby中使用Block、Proc、lambda实现闭包
- LUA中的闭包(closure)浅析
- Lua中的闭包学习笔记
- C#中函数的创建和闭包的理解
- 深入理解javascript作用域和闭包
- javascript作用域和闭包使用详解
- 谈谈JavaScript中的函数与闭包
- 细品javascript 寻址,闭包,对象模型和相关问题
- JavaScript中的闭包原理分析
- 浅谈javascript中的闭包
- 学习javascript的闭包,原型,和匿名函数之旅
- javascript 闭包详解
- JavaScript 匿名函数和闭包介绍
- JavaScript 闭包深入理解(closure)
- 深入理解JavaScript 闭包究竟是什么
- 谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
- 解决js函数闭包内存泄露问题的办法
- js闭包引起的事件注册问题介绍