gpt4 book ai didi

javascript - 在 for 循环或 if block 内声明变量有什么问题吗?

转载 作者:行者123 更新时间:2023-11-28 20:46:42 29 4
gpt4 key购买 nike

我经常看到这样的习惯:

var foo, bar;
for(var i = 0; i < 5; i++) {
foo = '' + foo + i;
}

这也影响了我,但我刚刚意识到我不知道为什么要这样做。

最佳答案

这样做并没有真正的问题,但是 javascript 没有 block 级作用域,因此如果您在循环内声明 foo ,它仍然可以在整个函数中访问。

如果您预先声明所有变量,那么在进行缩小时会有一个小优势,请考虑:

// Up front
var a, b, c, aVal, bVal, cVal;

for (a = 0; a < 5; ++a) {
aVal = a;
}

for (b = 0; b < 5; ++b) {
bVal = b;
}

for (c = 0; c < 5; ++c) {
cVal = c;
}

// Inline
for (var a = 0; a < 5; ++a) {
var aVal = a;
}

for (var b = 0; b < 5; ++b) {
var bVal = b;
}

for (var c = 0; c < 5; ++c) {
var cVal = c;
}

在这种情况下,当您缩小时,源代码中将会出现更多的“var”语句。这不是什么大问题,但随着时间的推移,它们肯定会增加。

关于javascript - 在 for 循环或 if block 内声明变量有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318375/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com