我在Eclipse中遇到错误:
for (var i = 0; i < foo; i++) {
...
}
...
while (someCondition) {
for (var i = 0; i < bar; i++) {
...
}
}
循环使用相同的变量名。Eclipse给我警告'i' is already defined
。如果我在第二个for循环中删除var som,则不会发出警告。
AFAIK在for循环中声明的变量(i
在这种情况下)与循环的作用域相同。
Eclipse是正确的吗?这些i
变量是否在同一范围内?
JavaScript中的局部变量的作用域为封闭函数。因此,两者i
具有相同的范围。
为了显示,
function f() {
...
for (var i = ...; ...; ...) {
...
}
}
相当于
function f() {
var i;
...
for (i = ...; ...; ...) {
...
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句