关于循环的第一个参数的变量

时间:2012-01-06 05:40:20

标签: javascript

我知道我可以简化:

var a;
var b;

成:

var a, b;

但是我可以在循环中做同样的事情吗?

for(var a=0,b=0;a<3;a++){
    //code
}

或者我需要写var a=0, var b=0

5 个答案:

答案 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 questionjsperf testjsperf 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只有全局和函数范围,块范围。上面示例中声明的ab变量可以在当前范围内的任何位置访问(包括上面 for语句,但值将是未定义的)。

另请注意,您不能说:

for(var a=0; var b=0; a<3; a++) { }

(如果要在for语句的初始化表达式中声明多个变量,则需要使用逗号语法。)