for循环中需要变量声明吗?
Variable declaration necessary in for loop?
有什么区别:
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 中的所有变量都被提升到作用域的开头。
我假设您使用的是 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
}
1和2是一样的
3 你可能从来没有想过这样做——它把 i
放在全局范围内。
有什么区别:
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 中的所有变量都被提升到作用域的开头。
我假设您使用的是 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
}
1和2是一样的
3 你可能从来没有想过这样做——它把 i
放在全局范围内。