【发布时间】:2015-08-17 17:14:46
【问题描述】:
这是from MDN关于'for'语句的引用:
表达式(包括赋值表达式)或变量 宣言。通常用于初始化计数器变量。这 expression 可以选择使用 var 关键字声明新变量。 这些变量不是循环的本地变量,即它们在同一个 for 循环所在的范围。该表达式的结果被丢弃。
所以当我写这种代码时:
for(var i = 0; i < 10; i++) {
for(var j = 0; j < 10; j++) {
// ...
}
}
在外循环的每次迭代中,我都声明了变量 j,它已经声明对了吗?
那么写这样的东西会更好吗:
for(var i = 0, j = 0; i < 10; i++) {
for(j = 0; j < 10; j++) {
// ...
}
}
...还是我们不在乎?
【问题讨论】:
-
只要在同一个函数作用域内声明,没关系。如果你在 for 循环中声明它,它有助于表明你打算只在 for 循环中使用它。所以我会选择选项 1。
标签: javascript loops scope