定义私有变量
也就是闭包,闭包就是能够读取其他函数内部变量的函数,只能读取不能修改.vararr=[]for(vari=0;i˂10;i++){arr[i]=function(){
也就是闭包,闭包就是能够读取其他函数内部变量的函数,只能读取不能修改.
var arr = []
for(var i = 0; i < 10; i++){
arr[i] = function () {
console.log(i)
}
}
arr0; // 10
arr1; // 10
arr2; // 10
var arr = []
for(var i = 0; i < 10; i++){
arr[i] = (function (i) {
return function () {
console.log(i);
}
})(i)
}
arr0; // 0
arr1; // 1
arr2; // 2
闭包处理的还是作用域的问题,解决该问题的方法还可以是利用ES6语法,var声明改成let声明
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~