2016-08-18 27 views
-3

我是新手編程,這是一個Noob問題,但我找不到任何線程真正解釋每個部分的底部。我知道如何創建for循環,但是一些基本的部分對我來說並不清楚。例如,什麼使得total += v[i];做下一個動作10 + 20 + 30 + 40 + 50 = 150 我的意思是,如果我宣佈total = 0;爲什麼每個值都不會擦除以前的值?例如:循環運行,第一個值是10,然後20運行超過10,然後30運行超過20 ...而不是它保持數字並將它們加10 + 20 ...並計算。Noob JavaScript關於低於循環+數組

爲什麼我不需要寫var total = 0

var v = [10,20,30,40,50]; 

var items = v.length; 
total = 0; 
for (var i = 0; i <items; i++){ 
    total += v[i]; 
} 
var mean = total/items; 
alert(mean); 
+0

total + = v [i];是總數=總數+ v [i]的簡寫; – proggrock

+2

我很樂意爲您提供幫助,但這是一個非常廣泛的問題,其答案非常廣泛,不幸的是,這些問題不在Stack Overflow問題的指導範圍之內。請參閱javascript guide/tutorial/course的介紹,他們應該回顧所有這些以及其他許多事情 – mhodges

+0

var'關鍵字用於確定您定義的變量的範圍。這不是要求,但在你的例子中,total是全球領域。你可以閱讀它[這裏](http://stackoverflow.com/a/3892715/4204026)。 –

回答

1

您在開始初始化變量「total」時寫入「var total = 0」。這很重要,因爲你想在for循環之外使用它。如果將它放在for循環中,則每次循環重新啓動時,它將返回0.

由於該值存在於循環範圍之外,因此每次循環重新啓動時都不會重置。這就是爲什麼每次你打電話給「total + = v [i]」時你的總數就會增加。

0

的Javascript,許多其他的語言中定義了操作者+=與其他如-=*=\=等所有這些操作符上的變量的當前值的執行操作沿。

所以:total += v[i];意味着同樣的事情total = total + v[i];

同樣total /= items;相同total = total/items;

0

循環是很方便,如果你想一遍又一遍運行相同的代碼,用不同的每次值。

for (statement 1; statement 2; statement 3) { 
    code block to be executed 
} 

語句1在循環(代碼塊)開始之前執行。

聲明2定義了運行循環(代碼塊)的條件。

語句3在每次執行循環(代碼塊)後執行。 我們需要循環,因爲你不想自己做100或1000次相同的事情。你說我們需要循環來添加數字,我們可以添加10 + 20 ...你可以添加10 + 20 + 30 + 40 ...但是你不能添加100萬個數字。 另一個想法是我們使用循環,因爲我們經常不知道數組的值。

total += v[i];等於total = total + v[i];

你寫var total = 0,因爲總和的初始值是0。你也想,因爲,如果你每次插入循環在這個循環會重複申報var total = 0外面的for循環的total值將爲0

0

total += v[i]相同total = total + v[i]所以這是做一個簡單的方法:

var helper = total + v[i] 
total = helper 

看看這個resource,它非常有用。