for循环输出的值
1 2 3 | for ( var i = 1;i <= 100;i++){ document.write(i+ "<br />" ); } |
这里面浏览器最终的输出是1到100的数字。这1到100的数字他存在哪里?我很疑惑为什么这个过程不是电脑在心里面数1/2/3/4.。。。一直到100然后最终在终端显示100这个数字而是吧1到100都展现出来了。
也就是说这个for循环不是一直在循环吗第一遍是1.第二遍是2.一直到100.那他这个过程中的值在循环的过程中是怎么保存的?既然他能打印出来肯定有保存的地方。然后他会不会销毁又是怎么销毁的什么时候销毁的?
这个是一直困惑我的地方。
按理(我理解的)说虽然都循环了但是最终执行的只是一条语句输出。之前的语句输出应该被覆盖掉了。(没有覆盖的话存在哪里?)
补充下:
var sum = 0; for(i = 1;i <=10 ;i++){ document.write(sum); sum++; } console.log(sum);
这里connsole.log(sum)显示的是10.于此同时文档中显示0-9,如果文档是流的话在connsole.log(sum)这个节点sum已经变成10了。页面上怎么还有有1-9的呈现?这些值存在在哪里(因为他们应该是sum的值可是sum的值已经变成10了,可是这些值还能在页面上呈现。)他们(1-9)是以什么方式存在的???
正在回答
document.write语句就是输出,执行完直接向页面输出了,不能太理解你说的保存是啥意思了,你是想说,就算输在页面也要有个地方存?程序执行的过程是很快的,如果非要说保存的话,估计就是保存到浏览器了,是使用浏览器来输出,渲染的。
你好,以如下代码为例:
for (var i = 1;i <= 100;i++){ document.write(i+"<br />"); }
第一步执行:var i= 1;
第二步:然后执行判断i<= 100;符合条件,接着执行,不符合,结束循环。
第三步:执行输出语句document.write(i+"<br />");
第四步:然后执行i++;
执行第四步之后,算是完成了一个循环,然后再次从第二步开始执行。
所以:这里是循环一次执行一次输出(document.write数输出语句),第一段代码,循环了100次,输出语句也执行了100次,所以分别输出了1-100的值。
至于第二段代码:
var sum = 0; for(i = 1;i <=10 ;i++){ document.write(sum); sum++; } console.log(sum);
最初sum=0;执行是从循环,document.write(sum);语句以此输出十句,第一次为0,输出之后,执行了sum++;变为1,第二次执行循环的时候, document.write(sum);输出1,然后sum++; sum变为了2,知道最后一次(第10次),document.write(sum);输出9,然后然后sum++; sum变为了10,循环结束。
那么循环结束之后,console.log(sum);打印的sum的值就是10呀。
祝学习愉快~
.,,,,
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星