break? 之前介紹switch時不是有提及過? 我記得是用來離開switch的。>( ゚ω゚ s)
(k ゚∀゚)<對呀,而在迴圈裡,break是用來立刻離開最接近的迴圈,以下是範例。
var message="";
for(var count=0;count<10;count++){
if(count==5)
break;
message+=count+" ";
}
System.inform(message);
(k ゚∀゚)<在上述的範例裡,當count的值是5,break就被執行,並且離開迴圈,所以只會顯示到0至4的數字。
我在意你說break會立刻離開最接近的迴圈,何謂最接近的迴圈?>( ゚ω゚ s)
(k ゚∀゚)<最接近的迴圈是指break上方看到最接近的迴圈,看看以下的範例。
var message="";
for(var row=1;row<10;row++){
for(var col=0;col<10;col++){
if(col==5)
break;
message+=col+" ";
}
message+="\n";
}
System.inform(message);
(k ゚∀゚)<在上述的範例裡,當col的值是5,break就被執行,並且離開內部的迴圈,不過外部的迴圈並不會離開。
(k ゚∀゚)<continue則是馬上執行下一次迴圈,看看以下的範例。
var message="";
for(var count=0;count<10;count++){
if(count==5)
continue;
message+=count+" ";
}
System.inform(message);
(k ゚∀゚)<在上述的範例裡,當count的值是5,continue就被執行,並且馬上執行下一次迴圈,則不會message+=col+" "這一句,所以結果會顯示到0至4、6至9的數字,缺少了5這數字。
原來如此!>( ゚ω゚ s)
(k ゚∀゚)<再看看以下的範例。
var message="";
for(var count=0;count<10;count++){
if(count==5)
continue;
if(count==8)
break;
message+=count+" ";
}
System.inform(message);
唔……結果是不是顯示"0 1 2 3 4 6 7"?>( ゚ω゚ s)
(k ゚∀゚)<是的,當count的值是5,continue就被執行,所以沒有5這數字,當count的值是8,break就被執行,並離開迴圈,所以數字只會顯示到7就停下來,以下是結果。
(k ゚∀゚)<今次介紹到這裡,下次再見。
沒有留言:
發佈留言