为了账号安全,请及时绑定邮箱和手机立即绑定

什么情况,各位大神是否能解释一下?

我想说我怎么一输入string.length;然后整个网页就死了,求解,无语。。。

function math(){

     document.write(Math.floor(x)+"<br/>");

}

var arr=[3.3,-0.1,-9.9,8.9];

for(var i=0;i<arr.length;){}

/*写到此,浏览器页面就整个卡死了,why?*/


正在回答

9 回答

for(var i=0;i<arr.length;){}

这就是经典的死循环,哈哈哈

i=0,arr.length=4

i<4是恒成立的 所以你这个就一直循环下去了 部分浏览器没有对死循环很好的处理 就会卡死 甚至还有可能导致电脑cpu使用超频而死机 你在写alert 或者循环语句的时候最好还是先注释 写完后再取消注释运行

0 回复 有任何疑惑可以回复我~

你为什么要弄个函数来输出呢,直接将输出写在循环里不就行了?

0 回复 有任何疑惑可以回复我~

因为你写了一个死循环,但感觉你写的这个语法好像哪里有问题。不知怎么说。

1 回复 有任何疑惑可以回复我~

你没有i++,i的数值永远不变,死循环

1 回复 有任何疑惑可以回复我~

for循环语句的格式是:for(初始化变量;循环条件;循环迭代){循环语句;}

例如:for(var i=0;i<10;i++)


0 回复 有任何疑惑可以回复我~

建议在这边写的时候,你先写for(var i=0;i<arr.length;i++),然后再去写{},或者for(var i=0;i<arr.length;i++){,然后再}

1 回复 有任何疑惑可以回复我~

for循环启动,for(;;)表示for循环写完,然而你并没有写i++,虽然有循环判断语句,但是i值一直不变,所以陷入了死循环,表现出来的形式就是浏览器页面整个卡死。你在;后面先写i++然后再填上;应该就没有问题了

1 回复 有任何疑惑可以回复我~

写完';',整个也就卡死不动了,不是没写~~~

0 回复 有任何疑惑可以回复我~

for里面还少了个条件啊。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468044    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

什么情况,各位大神是否能解释一下?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信