7 回答

TA貢獻1038條經驗 獲得超227個贊
第二個sum值是上一次循環得到的值,我這樣寫,你就會明白了。
var?n=1; var?sum=0; while(n?<=?5) { ??//console.log(sum); ??sum?=?sum+n+"<br/>"; ??n++; ??console.log(sum);?????????//?循環內部打印??? } console.log(sum);????????????//?循環外部打印
結果如下
1<br/>???????????????????????? 1<br/>2<br/> 1<br/>2<br/>3<br/> 1<br/>2<br/>3<br/>4<br/> 1<br/>2<br/>3<br/>4<br/>5<br/>
問題在于字符“<br/>”,sum+n+"<br/>" 所得結果是一個字符串拼接,每次循環即是字符串拼接,而非是算術計算。 你直接使用循環外打印就會出現1 2 3 4?。怠。撁鎸嶋H換行顯示)

TA貢獻3條經驗 獲得超2個贊
sum-sum+n+"<br/>"
我知道想要的表達是將每次的sum都輸出一遍。但是數值之后加上“字符”后,就會使得sum變成一個字符串了。(可以利用 typeof函數測試一下,alert(typeof sum);)我覺得應該可以這樣做:
<script>
?? ??? ?var n=1,sum=0;
?? ??? ?while(n<=100){
?? ??? ??? ?sum=sum+n;
?? ??? ??? ?document.write( sum+'<br>');
?? ??? ??? ?n++;
?? ??? ?}
?? ??? ?document.write(sum);
?? ?</script>
相信運行之后你就會解決你的疑惑了。

TA貢獻1條經驗 獲得超0個贊
你可以在里面打斷點 然后 每循環一次 看一下當前的sum和n的值喲。。
var sum=0;
var n=1;
while(n<=100){
sum=sum+n;
debugger;
n++;
debugger;
}
打開f12刷新 ? ?然后再 console里面打印出當前斷點n 和 sum的值 慢慢看吧

TA貢獻1123條經驗 獲得超629個贊
數值型加"<br/>"是什么鬼
你要測試也應該這么寫:
while(n<=100){ ????document.write(sum); ????document.write(" "); ????sum=sum+n; ????document.write(sum); ????document.write("<br/>"); }
這樣就能看出每一步的值了
添加回答
舉報