2016-09-29 50 views
0

我對編程相對比較陌生,在大學階段我正在學習Web編程課程。使用JavaScript,我們要編寫一個for循環,它將計算從0直到包括極限的所有整數的總和。For循環,而限制是負數

我能夠從0和以上的所有整數成功工作,但是,當我輸入一個負整數(例如-3)時,函數並不總是返回0。我根本沒有任何回報。我將在下面列出我的JavaScript代碼。如果有人有一些幫助的提示,我將不勝感激!

document.getElementById('go').onclick = function() { 
    var limit = document.getElementById('limit').value; 
    var total = 0; 
    for (i = 0; i <= limit; i ++) { 
     total = total + i; 
     document.getElementById('total').value = total; 
    }; 
}; 
+0

移動'的document.getElementById( '合計')值=總;'for'環的端 –

回答

3

你的輸出,document.getElementById('total').value = total;循環。

移動它循環之外,否則將不被執行(什麼都不會顯示出來)

循環執行0次,所以執行這個循環此行過0次。

+0

後'是什麼在'for'循環中有這條線的問題 - 爲什麼它不會被執行? – vlaz

+0

循環執行0次,所以循環中的該行也執行0次。 – Dimava

+0

是的,但是,這個解釋屬於答案。 OP顯然不知道,否則他會發現問題。只要陳述「不要這樣做」而不解釋理由不會使他意識到應該是什麼。 – vlaz

0

您設定值內的循環正義之舉document.getElementById('total').value = total;

底部,外面的for循環方式,它會一直呈現總量即使其0由於負數。

document.getElementById('go').onclick = function() { 

var limit = document.getElementById('limit').value; 

var total = 0; 

for (i = 0; i <= limit; i ++) { 

    total = total + i; 



}; 
document.getElementById('total').value = total; 
}; 
+0

謝謝你的幫助! –

0

您必須將最後一行,其中值分配給元素與ID total,外面的for循環。如果限制小於0,那麼循環內的代碼將永遠不會執行。

嘗試運行下面的代碼段:

document.getElementById('go').onclick = function() { 
 

 
    var limit = document.getElementById('limit').value; 
 

 
    var total = 0; 
 

 
    for (i = 0; i <= limit; i++) { 
 
    total = total + i; 
 
    } 
 

 
    document.getElementById('total').value = total; 
 
};
Limit: <input id="limit" type="number" value="3" /><br /> 
 
<input id="total" type="text" /> 
 
<button id="go">Go</button>

+0

謝謝你的幫助! –