2011-03-18 125 views
1

有人可以解释这个函数的第二行吗?是否一次将两个变量设置为= 0?即var i = 0var res = 0?如果是这样,是否有必要设置var i = 0考虑到它在for(i = 0 ...JavaScript设置变量?

function sumOnSteroids() { 
    var i, res = 0; 
    var number_of_params = arguments.length; 
    for (i = o; i < number_of_params; i++) { 
     res += arguments[i]; 
    } 
    return res; 
} 
+0

我不知道它是否是一个错字,或者它是您的代码中的实际错误,但您指定了i = o(字母“o”,而不是零)。 – Marcelo 2011-03-18 05:37:15

回答

1

不,我的价值是不确定的,初始化只有在这种情况下,适用于“水库”。要分配值你需要:

var i = 0, 
    res = 0; 
1

它是在一次与var关键字设置两个变量被应用到,他们作用域。如果没有var,它们将属于window(基本上是全局变量)。

第一个(i)将是undefined,第二个(res)将是0

这是一个功能强大的模式,因为......

  • var应该是含蓄的,但它不是,所以我们只需要一次重复。
  • 减少打字。
  • 更适合缩小文件(文件较小)。