重复使用“;i〃;用于循环的JavaScript

Reusing "i" for JavaScript for loops

本文关键字:用于 循环 JavaScript      更新时间:2023-09-26

我最近开始使用PHP Storm(喜欢它),并注意到它在JavaScript中将for循环中的"vari"声明标记为重复。我了解到,这个变量的作用域显然存在于循环之外。

for (var i = 0; i < 10; i++) {
    // Do anything
}
console.log(i); // i == 10

当我执行下一个for循环时,我应该再次声明vari吗?或者,我应该说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

您不需要再次声明它。你可以简单地为下一个循环重新分配i的值,比如

              for (i = 0; i < 5; i++)
                {
             // Do anything
                  }