课程
/前端开发
/JavaScript
/JavaScript进阶篇
为什么去掉mynum=mynum+1; 浏览器直接卡死???
2018-08-31
源自:JavaScript进阶篇 4-6
正在回答
不加就是死循环,知道将计算机的内存耗光
初始值是mynum=1;如果去掉mynum=mynum+1,那么mynum的初始值就一直是1,也就一直小于5,你说这样会不会卡?
代码通过mynum累加来使while的条件不再满足,你把它删除,等同于无限地输出,当然会卡死
简单来说while是个循环函数,而它的条件表达式(变量<=5),就是说它的变量值是5就会停止循环,然而它的变量初始值是“1”,但是你把mynum=mynum+1;除去的话,它每次循环就不会+1了,就会一直循环执行输出1,那么它永远都不会等于5,就会无限循环,直到浏览器奔溃!
因为mynum=mynum+1是改变下一次循环初始变量的条件,因为之前已经声明了mynum=1,如果去掉这句代码,就等同于mynum会一直判定为1,也就会一直满足mynum<=5这个条件,所以就会一直输出document.write("数字:"+mynum)这个为1结果,直到计算到接收不下而造成浏览器失去响应,也就会卡死了
你把mynum=mynum+1;去掉就是去掉了循环停止的条件,循环条件就一直为true,就成死循环了,循环一直在执行,内存超过了限制自然就卡死了,所有用while()做循环的时候,一定要记得给停止循环的条件
搞得我也试试了
呀呼2121212
因为你没有为mynum设置上限,mynum就一直加1,+1,加到了浏览器的计算极限了,自然就奔溃了
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
5 回答 mynum=mynum+1;问题
8 回答把mynum=mynum-1换成mynum=mynum--系统就会崩溃
3 回答mynum=mynum-1 中的-1是啥意思
3 回答mynum=mynum+1;是什么意思啊
3 回答mynum=mynum+1把这里去掉或者改成mynum++都会崩溃是什么原因?