我知道我可以简化:
var a;
var b;
成:
var a, b;
但是我可以在循环中做同样的事情吗?
for(var a=0,b=0;a<3;a++){
//code
}
或者我需要写var a=0, var b=0
?
答案 0 :(得分:2)
for(var a=0,b=0;a<3;a++)
没问题。
答案 1 :(得分:0)
它是完全有效的javascript,它将按预期工作。
答案 2 :(得分:0)
是的,你可以这样做。检查一下。
答案 3 :(得分:0)
for(var a=0,b=0;a<3;a++)
在其他编程语言中,如C / C ++,它被广泛使用。没有必要使用var
两次 - 您已经声明要用第一个声明变量。
你也可以使用(不是一个好习惯):
var a = x, b = y; // or var a = x; var b = y;
for ( ; a < b; a++) {
//code
}
这主要在使用length
属性时使用。因此,不会在每次迭代时调用它。这是related question,jsperf test,jsperf test。
for(var i = 0, len = obj.length; i < len; i++) {
//code
}
答案 4 :(得分:0)
在var
语句的初始化部分中使用for
的语法与在其他地方使用var
的语法相同。所以以下内容将正常工作:
for(var a=0,b=0; a<3; a++){ }
请注意,不将声明的变量范围限制为for
语句的块,就像在其他一些语言中一样。 JavaScript只有全局和函数范围,不块范围。上面示例中声明的a
和b
变量可以在当前范围内的任何位置访问(包括上面 for
语句,但值将是未定义的)。
另请注意,您不能说:
for(var a=0; var b=0; a<3; a++) { }
(如果要在for
语句的初始化表达式中声明多个变量,则需要使用逗号语法。)