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 5 (页面实际换行显示)
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/>"); }
这样就能看出每一步的值了
添加回答
举报