2011-03-18 143 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應該是含蓄的,但它不是,所以我們只需要一次重複。
  • 減少打字。
  • 更適合縮小文件(文件較小)。