2015-05-28 159 views
0

我想重新創建一個簡單的項目,我在我的基礎類javascript(從C++)但總和不添加每次for循環運行。所有其它部件都OK,但總和只列出了我把它們放在順序的編號。任何幫助表示讚賞在JavaScript中添加for循環總和

var num = prompt("Please enter an integer"); 
var lrg = num; 
var sml = num; 
var avg = num; 
var sum = num; 
var cnt = 10; 

function runMath() { 

for (i = 1; i < 10; i++) { 
    var num = prompt("Please enter an integer"); 

    if (num > lrg) { 
     lrg = num; 
    } else { 
     lrg = lrg; 
    } 

    if (num < sml) { 
     sml = num; 
    } else { 
     sml = sml; 
    } 

    sum += num; 

} 
} 

runMath(); 

avg = sum/cnt; 
+0

'prompt'返回一個字符串。 – Teemu

+0

在'prompt'的返回值上使用'parseInt()'。 – Zudo

回答

1

的問題是,prompt()返回一個字符串,而你期待一個數字。您可以在幾個不同的方式把它變成一個數字:

parseInt("33")將返回33,而不是"33"

同樣,速記看起來像:

+prompt("33")將返回33,而不是"33"

+0

非常感謝!仍在學習,不會再犯這個錯誤 –

+0

不客氣!如果這對你有效,請將我的答案標記爲正確:) –

0

所有輸入來自prompt()的命令都是一個字符串。您可以使用parseInt()將其轉換爲整數,但用戶可以輸入除數字之外的其他值,因此您需要檢查它是否爲isNaN()(不是數字),如果是,則以不同的方式處理。

var num = prompt("Please enter an integer"); 
num = parseInt(num, 10) 
if (isNaN(num)) { 
    alert ("That's not a number") 
    num = 0 // or do something else 
} 

注意:typeof NaN將返回 「數字」,所以你不能依賴於作爲一個試驗(見NaN

++prompt的解釋:Unary plus (+)

+0

謝謝!我一定會在中添加 –