for循环中需要变量声明吗?

Variable declaration necessary in for loop?

有什么区别:

是否有必要包含 var 关键字?

我知道 var 关键字会影响变量范围,但我无法理解是否有必要在 for 循环中包含该关键字。

在第二个例子中,你的变量是全局定义的,所以如果你在浏览器环境中,你可以从 window 对象访问它。

第一个相当于:

var i;
for (i=0; i<5; i++) {}

因为 javascript 中的所有变量都被提升到作用域的开头。

我假设您使用的是 C#、Java 或 JavaScript。简短的回答是,如果 "i" 尚未声明,则需要 var。如果已经声明,则不需要。

例如:

var i;
for(i=1;i<=5;i++) {}

现在可能有一些隐式变量类型取决于语言和 IDE,但是依赖隐式类型可能很难维护。

希望对您有所帮助,祝您好运!

1

for (var i = 0; i < 5; ++i) {
  // do stuff
}

2

var i;
for (i = 0; i < 5; ++i) {
  // do stuff
}

3

for (i = 0; i < 5; ++i) {
  // do stuff
}

12是一样的

3 你可能从来没有想过这样做——它把 i 放在全局范围内。