for 循环中必需的变量声明

Variable declaration necessary in for loop?

本文关键字:变量 声明 循环 for      更新时间:2023-09-26

两者之间有什么区别:

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

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

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

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

第一个等效于:

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

因为 JavaScript 中的所有变量都被提升到范围的开头。

1

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

阿拉伯数字

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

3

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

12 是相同的。

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

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

例如:

var i;
for(i=1;i<=5;i++) {}
现在可能会有一些隐式变量类型,具体取决于

语言和 IDE,但依赖隐式类型可能难以维护。

希望这有帮助,祝你好运!