JavaScript - 在 for 循环中使用 let 和 var 关键字声明迭代变量有什么区别?
JavaScript - What is the difference between declaring a iteration variable using a let versus a var keyword inside a for-loop?
在 for 循环体中使用 let 和在 JavaScript for 循环体中使用 var 有什么区别?它们的工作方式不同吗?为什么?
示例:
使用 let
for (let i = 0; i < 10; i++) {
}
使用变量
for (var i = 0; i < 10; i++) {
}
这些在幕后的工作方式是相同的还是不同的,实际上有一个更好吗?
这种差异是否也适用于 while 循环和 do-while 循环?
let
是块作用域而 var
不是。
对于 let
,您不能在 forloop 主体之外使用 i
。
使用 var
(函数作用域或全局作用域)你可以。
for (var j = 0; j < 10; j++) {
}
console.log(j);
for (let i = 0; i < 10; i++) {
}
console.log(i);
您可以在 chrome 控制台中使用 var
运行 for 循环,并且会看到 i
已附加到 window 对象.
在 for 循环体中使用 let 和在 JavaScript for 循环体中使用 var 有什么区别?它们的工作方式不同吗?为什么?
示例:
使用 let
for (let i = 0; i < 10; i++) {
}
使用变量
for (var i = 0; i < 10; i++) {
}
这些在幕后的工作方式是相同的还是不同的,实际上有一个更好吗?
这种差异是否也适用于 while 循环和 do-while 循环?
let
是块作用域而 var
不是。
对于 let
,您不能在 forloop 主体之外使用 i
。
使用 var
(函数作用域或全局作用域)你可以。
for (var j = 0; j < 10; j++) {
}
console.log(j);
for (let i = 0; i < 10; i++) {
}
console.log(i);
您可以在 chrome 控制台中使用 var
运行 for 循环,并且会看到 i
已附加到 window 对象.