我经常看到这样的习惯:
var foo, bar;
for(var i = 0; i < 5; i++) {
foo = '' + foo + i;
}
它也对我产生了影响,但我刚刚意识到我不知道我为什么要这样做。
我经常看到这样的习惯:
var foo, bar;
for(var i = 0; i < 5; i++) {
foo = '' + foo + i;
}
它也对我产生了影响,但我刚刚意识到我不知道我为什么要这样做。
这样做没有真正的问题,但是 javascript 没有块级范围,因此如果您在循环内声明 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”语句。这不是什么大不了的事,但随着时间的推移,它们肯定会加起来。