您的位置:首页 > Web前端 > JavaScript

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() {

})();


闭包还有可能在其他方法中联合一起使用,形成自己的封闭环境。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  闭包