这是我的循环代码
var username = ['Sam', 'Adarsh', 'Rohit', 'Rajat'];
for(var i in username){
console.log(username[i]);
}
它根据需要输出相同的但是我不确定为什么需要声明。我理解VAR和LET的概念但不确定在哪些情况下var会在for循环中产生问题?
任何身体都可以帮助我理解这个概念。我是新的菜鸟并试图找出:)
感谢您的帮助。
答案 0 :(得分:10)
使用var
时:
var username = ['Sam', 'Adarsh', 'Rohit', 'Rajat'];
for(var i in username){
console.log(username[i]);
}
i // 3
使用let
var username = ['Sam', 'Adarsh', 'Rohit', 'Rajat'];
for(let i in username){
console.log(username[i]);
}
i // Uncaught ReferenceError: i is not defined
ES6中的 let
将创建块范围到功能范围