猿问

while的死循环是怎么回事?为什么会进入死循环?

let status = true;

while (status) {

}

console.log("没有执行到这里");


慕桂英546537
浏览 2530回答 8
8回答

12345678_0001

while(true) 当然是死循环了, 没有为什么

富国沪深

while传了个true进去,相当于一直在循环,没有尽头

婷婷同学_

熊嘚、你这 status 都赋 true 值了不死循环才怪嘞

慕尼黑5688855

你这个代码执行流程let status = true;while (status) {   // 每次执行到这里 为true 执行{}里面代码 直到为false的时候退出  而你的status一    直是true}...

长风秋雁

let status = true;while (status) {}第一行,status为true啊,大佬。

湖上湖

首先,编程语言里几乎所有的程序控制关键字,包括判断、循环之类的,其实全都是if的派生;换句话说,如果语言允许,它们都可以写成if...的形式。其次,回到问题上来。那么while就可以转化为:Label:    If (xxx) {        dosomething;        Goto Label;    }这种形式。当然这不是javascript,因为它在设计的时候拿掉了goto、而只保留了label,所以你只要能看明白大概其意思就行。那么我们知道if (true)其实是没有判断作用的、一个“常通”的逻辑语句,那么这时,这段其实就变成了:Label:    dosomething;    Goto Label;没有任何的控制,程序不断在执行操作和跳转到label段落之间往复,也就是:死循环。

犯罪嫌疑人X

let status = true;while (status) {}你在while内并没有改变status的值,所以它一直是true,就会一直走到这里,形成死循环
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答