課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
為什么寫while(mynum=0)就會死機(jī)?
2015-02-16
源自:JavaScript進(jìn)階篇 4-7
正在回答
你好,之所以死機(jī)是因?yàn)槟愕臈l寫的有問題,造成了無限循環(huán)。
一、你最后的條件用的是賦值符號“=”,而不是等于號“==”。這就導(dǎo)致了,你的條件永遠(yuǎn)是true 成立的。因?yàn)槟氵@類的賦值總是會成功的。那么你的do循環(huán)實(shí)際是在做無限循環(huán)。這樣當(dāng)然會死機(jī)。
二、不知道是不是你需要這樣。如果是故意想讓do只做一次循環(huán)那么你就沒這第二個(gè)問題。我寫這個(gè)二也是為了提醒下你。你這個(gè)即使用的是 ==?等于符號。那么你這個(gè)條件也是沒有意義的。因?yàn)楫?dāng)你的do執(zhí)行了一次后,mynum的值是 5?。也就是說你條件里的??mynum == 1的條件是不成立的。那么你的do循環(huán)只做了一次循環(huán)就結(jié)束了。并且瀏覽器顯示的數(shù)字是6。而nynum的實(shí)際最終值是5(因?yàn)槟闶窍容敵銎聊伙@示,后做了減一并賦值。)
游泳 提問者
雖然你的問題解決了= =。我想說。。你是不是應(yīng)該問的是while(mynum=1)會死機(jī)。。。而不是while(mynum=0)?...while(mynum=0)是不會死機(jī)的吧,這里的條件永遠(yuǎn)為假。。。
是==
<!DOCTYPE?HTML> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>do...while</title> <script?type="text/javascript"> ????var?mynum?=6;//mynum初值化數(shù)值為6 do { document.write("數(shù)字:"+mynum+"<br/>"); mynum=mynum-1; } while(mynum=1) </script> </head> <body> </body> </html>
前面的代碼呢
推薦看恐怖游輪這部電影,看完了就知道為啥死機(jī)了.
舉報(bào)
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動態(tài)交互世界
2 回答為什么while(mynum=>0)頁面就會崩了
4 回答while(mynum) 為什么這么寫就對了?mynum=mynum-1; 為什么這樣寫呢?
5 回答while(mynum<=0)與while(mynum>=0)值不一樣
5 回答為什么mynum=0就行,其他mynum=1、2、3...都會一直循環(huán)?
4 回答我給while(mynum=5) 網(wǎng)頁居然死了
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-02-16
你好,之所以死機(jī)是因?yàn)槟愕臈l寫的有問題,造成了無限循環(huán)。
一、你最后的條件用的是賦值符號“=”,而不是等于號“==”。這就導(dǎo)致了,你的條件永遠(yuǎn)是true 成立的。因?yàn)槟氵@類的賦值總是會成功的。那么你的do循環(huán)實(shí)際是在做無限循環(huán)。這樣當(dāng)然會死機(jī)。
二、不知道是不是你需要這樣。如果是故意想讓do只做一次循環(huán)那么你就沒這第二個(gè)問題。我寫這個(gè)二也是為了提醒下你。你這個(gè)即使用的是 ==?等于符號。那么你這個(gè)條件也是沒有意義的。因?yàn)楫?dāng)你的do執(zhí)行了一次后,mynum的值是 5?。也就是說你條件里的??mynum == 1的條件是不成立的。那么你的do循環(huán)只做了一次循環(huán)就結(jié)束了。并且瀏覽器顯示的數(shù)字是6。而nynum的實(shí)際最終值是5(因?yàn)槟闶窍容敵銎聊伙@示,后做了減一并賦值。)
2015-02-19
雖然你的問題解決了= =。我想說。。你是不是應(yīng)該問的是while(mynum=1)會死機(jī)。。。而不是while(mynum=0)?...while(mynum=0)是不會死機(jī)的吧,這里的條件永遠(yuǎn)為假。。。
2015-02-16
是==
2015-02-16
2015-02-16
前面的代碼呢
2015-02-16
推薦看恐怖游輪這部電影,看完了就知道為啥死機(jī)了.