我在w3schools.com (JavaScript最佳实践)站点上看到了这段代码
// Declare at the beginning
var i;
// Use later
for (i = 0; i < 5; i++) {我不明白为什么声明这个变量被认为是一个好的实践。这只是循环所需要的。我为什么要把它变成全球性的
发布于 2020-03-20 16:02:56
实际上,这个代码已经过时了。最佳实践是使用let而不是var (参见StackOverflow上的这个问题 ),并在for语句中声明它:
for (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4
}
console.log(i); // undefined variable ilet定义块作用域变量。这个变量不会“泡”到全局范围,通过不污染全局范围来提高效率。
发布于 2020-03-20 16:08:25
将所有声明放在每个脚本或函数的顶部是一种很好的编码实践。 这将: 提供更干净的代码,为查找局部变量提供一个地方,这样可以更容易地避免不必要的(隐含的)全局变量,减少不必要的重声明的可能性。
您可以这样做,以使代码更清晰。但我建议使用let而不是var。
https://stackoverflow.com/questions/60777543
复制相似问题