我经常使用“for of”语句来遍历迭代器,如下所示:
for(item of myIterator){
console.log(item)
}
但是最近我发现官方的说法是:
for(let item of myIterator){
console.log(item)
}
而且它们都执行正确,我想知道它们是否有什么区别。谢谢!
最佳答案
Let 是一个作用域变量,因此只能在其作用域 {} 内工作。
var myIterator = [0,1,2,3]
//non scoped variables works also out of for-loop, check
for(item of myIterator){
console.log(item)
}
console.log(item)
上面的示例将打印所有项目,完成后,项目变量仍然是迭代的最后一个项目 现在再次尝试使用 let 作用域变量
//scoped variables works only inside for-loop instruction
for(let item2 of myIterator){
console.log(item2)
}
console.log(item2)
现在 item2 不再可用,因为超出范围并且指令抛出错误。
关于javascript - JavaScript 中 "for(let item of iter)"和 '' for(iter 的项)"有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60477339/