鍍金池/ 問答/HTML5  HTML/ while的死循環(huán)是怎么回事?為什么會(huì)進(jìn)入死循環(huán)?

while的死循環(huán)是怎么回事?為什么會(huì)進(jìn)入死循環(huán)?

let status = true;

while (status) {

}

console.log("沒有執(zhí)行到這里");

回答
編輯回答
短嘆

while(true) 當(dāng)然是死循環(huán)了, 沒有為什么

2018年2月19日 10:43
編輯回答
遺莣

while傳了個(gè)true進(jìn)去,相當(dāng)于一直在循環(huán),沒有盡頭

2018年5月24日 19:03
編輯回答
你好胸

你這個(gè)代碼執(zhí)行流程

let status = true;

while (status) {   // 每次執(zhí)行到這里 為true 執(zhí)行{}里面代碼 直到為false的時(shí)候退出  而你的status一    直是true

}
...
2017年7月5日 03:35
編輯回答
維他命

熊嘚、你這 status 都賦 true 值了

不死循環(huán)才怪嘞

2017年2月13日 22:19
編輯回答
落殤

除非你while循環(huán)體內(nèi)有修改status變量值為false狀態(tài)的語句,否則肯定死循環(huán)啊。

2017年12月12日 00:43
編輯回答
孤客

首先,編程語言里幾乎所有的程序控制關(guān)鍵字,包括判斷、循環(huán)之類的,其實(shí)全都是if的派生;換句話說,如果語言允許,它們都可以寫成if...的形式。
其次,回到問題上來。那么while就可以轉(zhuǎn)化為:

Label:
    If (xxx) {
        dosomething;
        Goto Label;
    }

這種形式。當(dāng)然這不是javascript,因?yàn)樗谠O(shè)計(jì)的時(shí)候拿掉了goto、而只保留了label,所以你只要能看明白大概其意思就行。那么我們知道if (true)其實(shí)是沒有判斷作用的、一個(gè)“常通”的邏輯語句,那么這時(shí),這段其實(shí)就變成了:

Label:
    dosomething;
    Goto Label;

沒有任何的控制,程序不斷在執(zhí)行操作和跳轉(zhuǎn)到label段落之間往復(fù),也就是:死循環(huán)。

2017年3月22日 23:22
編輯回答
陌上花
let status = true;

while (status) {

}

你在while內(nèi)并沒有改變status的值,所以它一直是true,就會(huì)一直走到這里,形成死循環(huán)

2017年3月12日 17:23
編輯回答
使勁操
let status = true;

while (status) {

}

第一行,statustrue啊,大佬。

2018年2月28日 16:06