這是我的代碼:For循環不存儲變量?
<html>
<head>
<title>Temperature Information</title>
</head>
<body>
<script>
//declare variables
var BR = "<br />";
var ES = " ";
var counter;
var temp = [counter];
var max = 0;
var min = 0;
var tempTot;
var tempAve;
//loop
for (counter = 1; counter <= 5; counter++) {
tempTot = tempTot + temp[counter];
temp[counter] = prompt("Enter the temperature for noon on day #" + counter,ES);
temp[counter] = parseFloat(temp[counter]);
if (temp[counter] == temp[1]){
temp[counter] = max;
temp[counter] = min;
}else if (temp[counter + 1] > temp[counter] && temp[counter] != temp[1]){
temp[counter] = max;
}else if (temp[counter + 1] < temp[counter] && temp[counter] != temp[1]){
temp[counter] = min;
}
tempTot = tempTot + temp[counter];
}
tempAve = tempTot/4;
//display info
document.write("The average temperature is: " + tempAve + BR);
document.write("The maximum temperature is: " + max + BR);
document.write("The minimum temperature is: " + min + BR);
</script>
</body>
它應該承擔的溫度信息5天,顯示平均值,最大值和分鐘。一切似乎運行良好,但它只顯示結果與null。難道我做錯了什麼?我覺得我對這件事太想了。
'var temp = [counter];'應該做什麼? – gsc
你的代碼有很多錯誤。 – MultiplyByZer0
您正在通過'temp [counter + 1]'訪問尚未填充的溫度值。那些將是'未定義',當你將它與一個數字進行比較時,它將強制轉換成'NaN'。涉及'NaN'的比較總是錯誤的。此外,雖然它不會導致上述代碼中的問題,但數組索引從0開始,而不是從1開始。我建議逐步瀏覽內置於瀏覽器中的調試器中的代碼,觀察各種變量的值等等。這就像在黑暗的房間裏打開燈光,直到後來纔開始學習。初學者需要調試器。 :-) –