您的位置:首页 > 其它

关于闭包的学习

2017-09-30 16:57 120 查看
第一,什么是闭包,闭包就是在一个函数的内部定义另一个函数.

第二,它的格式是什么:

function outer(){

var innernum = outernum;

function inner(){

return innernum;

}

return inner;

}

外部是无法防问到内部变量innernum,所以起到一定的保护作用.

第三,闭包通常应用于for语句中,比如在for语句中让10个li标签弹出不同的数字,0~9,如果不用闭包形式,采用一般的for循环语句,是弹出10个数字10来的。

第四,闭包的缺点是,它延长了变量的生命周期,占据一定的内存。

闭包在网页中用得最多例子之一:



只可惜上图是一个错误的写法



上面的写法错误了,因为onclick绑定的事件的参数不能传,默认是event

所以只能在外面的outer里面传参数了



最后附上团包最通用的写法

for (var i = 0; i < 10; i++) {

arr[i] = function outer(a) {

var num = a;

function inner() {

return num;

};

return inner;

}(i);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: