do-while語句是一種后測試循環語句,即只有在循環體中的代碼執行之后,才會測試出口條件。其實就是,代碼在剛開始執行的時候,都是要先走一遍do循環體內的代碼,然后在與while里面的條件進行判斷,成立循環就一直繼續下去,不成立就跳出循環。循環體內代碼至少被執行一次。(肚子餓了,看到吃的先狂吃一頓,直到被發現了,就閉嘴停不吃了)
while語句是屬於前測試循環語句,也就是說,在循環體內的代碼被執行之前,就會對出口條件求值。其實就是先與while里面的條件進行判斷,成立就走循環體內的代碼,不成立就不走循環體內代碼。循環體內的代碼有可能永遠不會執行。(肚子餓了,先問一下能不能吃東西,同意了就狂吃,直到不允許吃為止,不同意,就忍着忍着忍着不吃走了.....)
一.do-while語句
do-while語句的語法:
do{
statement
}while(expression);
看下面示例:
var i=10;
do{
i+=2;
}while(i<10)
alert(i) // 12 (允許你吃了,就給了你兩個蛋撻)
第一眼看10<10不成立呀,alert(i)應該彈出10才對呀,為什么是12呢?因為在對表達式求值之前,都要先執行一遍循環體內的代碼(i+2=10+2;i=12),然后才會與出口條件進行判斷(i<10=>12<10,),成立就繼續循環,不成立就跳出循環,執行結束!
看下面示例
var i=0;
do{
i+=2;
alert(i) // 2,4,6,8,10 只要變量小於10,循環就一直繼續下去,直到不滿足條件后寄跳出循環。(允許你吃了,連着給了你好幾個蛋撻)
}while(i<10)
二.while語句
while語句的語法:
while(expression){
statement
}
看下面示例:
var i=10;
while(i<10){
i+=2
alert(i) // 什么都沒有 條件不成立,沒有走循壞體 (我就是不給你吃不給你吃,一個蛋撻都不給)
}
alert(i) // 10 (好吧,那我啃老去了,這個10,是全局變量i=10)
在看下面示例
var i=0;
while(i<10){
i+=2
alert(i) // 2,4,6,8,10 只要變量小於10,循環就一直繼續下去,直到不滿足條件后寄跳出循環。(看你可憐,允許你吃了吧,連着給了你好幾個蛋撻)
}
while里面的判斷條件成立,然后走循環體,直到不滿足條件后,跳出循環,執行結束。
do-while && while
do-while 語句至少執行一次循環體內的代碼;
while 條件不成立,語句永遠不會執行循環體內的代碼;
分享技術,分享快樂!