我最近开始使用PHP Storm(喜欢它),并注意到它在for循环中将“ var i”的声明标记为JavaScript中的重复项。我了解到该变量的范围显然存在于循环之外。
for (var i = 0; i < 10; i++) {
// Do anything
}
console.log(i); // i == 10
当我执行下一个for循环时,是否应该再次声明var i?或者,我应该说我= 0?我知道我可以做任何事情,但是一个看起来风格很差,另一个似乎实现不好。
一方面,您不应该重新声明范围内的变量,但是,例如,如果我删除第一个声明为“ i”的for循环,那么其他所有内容都会中断。
JavaScript仅具有函数级范围,而没有块级范围。因此,如果在函数内的任何位置声明了变量,则该变量将可用于整个函数。因此,您不必再次声明它。
最佳实践是在函数开头声明函数中使用的所有变量。
例如,
function myFunction() {
console.log(i);
for (var i = 0; i < 10; i++);
console.log(i);
}
myFunction();
会打印,
undefined
10
i
在函数中声明,但在for
执行循环之前i
未分配任何值。因此,它将具有默认值undefined
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句