for (i=0;i<=10;i++)
{
if (i===3){
continue;
}
console.log(i);
}
//輸出為:0,1,2,4,5,6,7,8,9,10
var i=0;
while(i<=10)
{
if(i===3)
{
continue;
}
console.log(i);
i+=1;
}
//輸出為:0,1,2
我想用while做出與for迴圈相同的輸出結果,可是卡腦了
但用看的這兩個迴圈似乎差不多,可是while迴圈只能輸出到2就停了
當while迴圈判斷如果i=3,會跳出並不會印出3,而執行i+=1,並印出4,直到i超過11才停。
第二個Script問題在
i加到3的時候
會去呼叫continue
不會執行到下面的i+=1
所以變成"死循環"
可以改成
var i=0;
while(i<=10)
{
if(i===3)
{
//i為3的時候的邏輯
}else{
//i非3的時候的邏輯
console.log(i);
}
i+=1;
}
明白 我嘗試看看 我只想到if沒馬上想到能用else 謝謝您
這樣改 0 就出不來了..
原因暐翰提了,我就不再說明,
不過暐翰建議的語法有點問題唷!
i+=1;
不能放在判斷式if的前面,否則判斷的是下一個值!
如果你想用while做出與for迴圈相同的輸出結果,可以用下列方式:
var i=0;
while(i<=10)
{
if(i===3)
{
i+=1;
continue;
}
else
{
console.log(i);
i+=1;
}
}
輸出應該就會是0,1,2,4,5,6,7,8,9,10
starcity1003
weiclin
謝謝,已修正了 :-)
while(i<10)
的話,應該不會出現最後一個10的結果吧?
//i為3的時候的邏輯
如果是continue;
的話,你的語法結構還是會有問題唷!
starcity1003
這邊不使用continue
i+=1;
console.log(i);
順序還是不對...
照你的意思應該寫成:
var i=0;
while(i<=10)
{
if(i===3)
{
}
else
{
console.log(i);
}
i+=1;
}
log只是紀錄用,為何要忽略?
i+=1;
console.log(i);
順序還是不對...
i+=1;不能放在前面唷!
照你的意思應該寫成:
var i=0;
while(i<=10)
{
if(i===3)
{
}
else
{
console.log(i);
}
i+=1;
}
明白你的意思了
我承認我沒好好看完文章
需要的邏輯
想說小問題把錯誤抓出來就好
(抱歉,檢討中)
照發問者的原意,他應該沒有要3的log紀錄吧…
本來只想用討論但他沒辦法上語法標籤……
我說你如果非用while不可的話,為什麼不反向思考?
寫程式的時候,有的時候只要一個「not」就解決很多困擾了。
var i = 0;
while(i <= 10) {
if(i !== 3) {
console.log(i);
}
i += 1;
}
我要吐槽標題for與do...卻沒有看到do
為了維持卡腦的continue想法,建議可以這樣寫
var i = 0;
do {
if (i === 3)
continue;
console.log(i);
} while (i++ < 10);
//輸出為:0,1,2,4,5,6,7,8,9,10