概述
2019独角兽企业重金招聘Python工程师标准>>>
打印出10个10:
function test() {
var arr = [];
for(var i = 0; i < 10; i++){
arr[i] = function () {
console.log(i);
}
}
return arr;
}
var myArr = test();
for(var j = 0; j < 10; j++){
myArr[j]();
}
解决1:let声明
for(let i = 0; i < 10; i++){
setTimeout(function timer(){
console.log(i)
})
}
解决2:立即执行函数
function test() {
var arr = [];
for(var i = 0; i < 10; i++){
(function(j){
arr[j] = function () {
console.log(j);
}
})(i)
}
return arr;
}
var myArr = test();
for(var j = 0; j < 10; j++){
myArr[j]();
}
转载于:https://my.oschina.net/parchments/blog/3033914
最后
以上就是糊涂板凳为你收集整理的解决闭包问题的全部内容,希望文章能够帮你解决解决闭包问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复