有什么区别:
for (var i=0; i<5; i++) {}
for (i=0; i<5; i++) {}
是否有必要包含var关键字?
我理解var关键字会影响变量范围,但我无法理解是否需要在for循环中包含关键字。
答案 0 :(得分:4)
在第二个示例中,您的变量是全局定义的,因此如果您在浏览器环境中,则可以从window
对象访问它。
第一个相当于:
var i;
for (i=0; i<5; i++) {}
因为javascript中的所有变量都被提升到范围的开头。
答案 1 :(得分:0)
<强> 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
}
1 和 2 是相同的。
3 你可能从不打算这样做 - 它将i
放在全球范围内。
答案 2 :(得分:-2)
我假设你正在使用C#,Java或JavaScript。简短的回答是,如果尚未声明“i”,则需要var。如果已经宣布,则不需要。
例如:
var i;
for(i=1;i<=5;i++) {}
现在可能会有一些隐式变量输入,具体取决于语言和IDE,但依赖于隐式输入可能很难维护。
希望这有帮助,祝你好运!