程式語言的重複能力

重複能力:迴圈的使用

重複能力的迴圈使用方式有多種,建議先參考以下連結介紹,後續實例再練習。

Class Title Link Description
Not Timing for 英文版簡中版 計數型迴圈
while
do...while
英文版簡中版 非計數型迴圈
Timing setTimeout 英文版簡中版 指定延遲時間後執行處理程序一次
setInterval 英文版簡中版 每隔指定的延遲時間後執行處理程序

 

範例小練習:for 迴圈

<script>
//執行10次的迴圈,顯示Hello~~並出現打招呼的次數
//for計數型迴圈( 設定變數i初始值=1; 當i<=10則進入執行; 每圈後變數i的變化值 ) 
for(var i = 1; i <= 10; i++){
    document.write('Hello~~'+i+'<br>');  //文件中輸出指定字串及變數i的結果
}
document.write('迴圈後計數器的i變數='+i);  //所有迴圈後輸出變數 i 最後的結果
</script>

範例小練習:while 迴圈

<script>
//小遊戲:東家與玩家各抽一個號碼牌, 當玩家的牌大於東家則可以繼續抽牌
//先抽樣決定最大值記錄到變數i, 設定變數j初始值為0
var i = Math.floor(Math.random()*100);  //i = 0~99 代表東家
var j = Math.floor(Math.random()*100);  //j = 0~99 代表玩家

//只要符合 j > i 就反覆進入迴圈, 先顯示結果再重新抽一次變數 j
//也就是如果玩家的值大於東家的值, 那麼就可以反覆再抽牌, 直到玩家輸給東家為止
while(j > i){
    document.write('Hello~~~ i='+i+' ~~~~~~~ j='+j+'<br>');
    j = Math.floor(Math.random()*100);
}
document.write('<hr>迴圈後的 j 變數 = '+j);
</script>

範例小練習:do...while 迴圈(改良版)

<script>

var i = Math.floor(Math.random()*100);
var j;

do{
    j = Math.floor(Math.random()*100);
    document.write('Hello~~~ i='+i+' ~~~~~~~ j='+j+'<br>');
}while(j > i);
document.write('GAME OVER');

</script>

whiledo...while 的差別

while( 判斷條件 ){ 執行的工作; }
先判斷條件, 如果條件不成立, { } 內的工作可能一次也沒執行。

do { 執行的工作; } while( 判斷條件 );
會先執行一次, 再由while判斷條件, 條件成立再進行do。