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 中的所有变量都被提升到范围的开头。
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
}
1 和 2 是相同的。
3 你可能从来没有想过要这样做——它把i
放在全球范围内。
我假设你使用的是C#,Java或JavaScript。 简短的回答是,如果尚未声明"i",则需要 var。 如果已经声明,则不需要。
例如:
var i;
for(i=1;i<=5;i++) {}
现在可能会有一些隐式变量类型,具体取决于语言和 IDE,但依赖隐式类型可能难以维护。
希望这有帮助,祝你好运!
相关文章:
- 使用同一对象中的其他变量声明变量
- 如何将变量声明为全局变量
- 如何将变量声明为全局变量?用case foreach?Javascript
- 理解bootstrap.js变量声明
- 将 Javascript 变量声明为 PHP 形式
- 单个逗号分隔的变量声明和多个声明之间的区别是什么
- Do变量声明初始化函数
- Javascript变量声明:什么是“;var myVariable={}”;
- javascript中不同类型的变量声明
- 为什么在循环的Javascript中包含变量声明
- for 循环中必需的变量声明
- JavaScript 中的变量声明
- 在 Javascript 变量声明中使用逗号
- 你能在变量声明中添加条件吗?
- JavaScript 全局变量声明
- 节点.js变量声明和作用域
- 具有多个逗号分隔值的变量声明是什么意思(例如 var a = b,c,d;)
- 移动图像 ..JavaScript 将变量声明为字符串
- 让 javascript 将(默认情况下)未声明的变量声明到当前本地范围(基于首次使用)而不是全局范围
- 循环中的变量声明