請大神幫忙看看代碼,為什么只提示輸入陣列但不執行后續計算呢
uj5u.com熱心網友回復:
prompt回傳的是字串,可以用split分隔一下得到陣列uj5u.com熱心網友回復:
window.onload = function () {var scores;
scores = prompt("hello");
var xx = scores.split(",");
var s = 0, aver = 0, low = 0;
for (var i = 0; i < xx.length; i++) {
s = s + parseInt(xx[i]);
if (parseInt(xx[i]) < 60) {
low++;
}
}
aver = s / xx.length;
alert("zongfen:" + s);
alert("pingjun:" + aver);
alert("nujige:" + low);
}
uj5u.com熱心網友回復:
prompt回傳的是string型別,即使你用了陣列,你的scores[0]也是你字串里的第一個字符。我不知道你打算怎么在一個prompt里一次性輸入所有人的分數,或許是逗號隔開?不過就算是有7個prompt也沒辦法進行數字運算。比如說你輸入第一個學生的成績為100,第二個為50,100+50會變成string的相加,也就是10050,應該是需要轉一下資料型別的。
可以試一下上面的代碼,輸入分數的時候用逗號隔開
uj5u.com熱心網友回復:
你那個return s 直接回傳出去了,,,不執行alter()了轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/230142.html
標籤:JavaScript
