iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0
自我挑戰組

JavaScript 新手筆記系列 第 13

Day13 - 迴圈(01)

  • 分享至 

  • xImage
  •  

前言

這次主要是說明迴圈的部分

迴圈

  • 因為要執行很多次,所以一般會利用迴圈來達成
  • 迴圈的種類
    • for 迴圈:主要會以這個為主
    • while 迴圈:通常不知道次數或是無限迴圈使用
    • do ... while 迴圈:做了之後再進入迴圈,代表至少會先執行一次 do 內的內容(暫不介紹)
for (初始值 ; (結束)條件 ; 更新) {
    // 迴圈內的執行條件
}

while (條件){
   // 迴圈內的執行條件
   // 如果沒有設定更新變數,很容易變無限迴圈
}

do {
  // 至少會先執行一次 do 內的內容
  // 再來看 while 的條件
} while (條件);

for 迴圈

  • ( ) 內的條件以 ; 區分
  • 初始值可以在外面定義或是寫在( )內
var i ;

for (i = 0; i < 3; i++) {
// (初始值 ; 條件 ; 更新)
    console.log('i=' + i);
    }
// i=0 < 3 迴圈1:輸出 'i=0' 後 i = 1,進入下次迴圈
// i=1 < 3 迴圈2:輸出 'i=1' 後 i = 2,進入下次迴圈
// i=2 < 3 迴圈3:輸出 'i=2' 後 i = 3,進入下次迴圈
// i=3 = 3 迴圈4:因為 i = 3 不滿足 < 3 ,結束迴圈

// 亦可將變數寫在條件內
for ( var i = 0; i < 3; i++) {
    console.log('i=' + i);
    }

while 迴圈

  • 因為 ( ) 內沒更新條件,因此如果忘記設定就會進入無限迴圈,就容易當機
  • 無限迴圈代表沒有停止,會一直執行,直到程式當掉
  • 初始值要先寫在外面
var i = 0; // 初始值
while (i < 3) {  // 條件
    console.log('i=' + i);
    i++;  // 更新
};
// i=0
// i=1
// i=2

問題

  • i++、i--?
    • i++ 代表 i = i + 1
    • i-- 代表 i = i - 1
  • 變動的值超過1的呢?
    • 使用 += ,如 i += 2,表示 i = i + 2
    • 同理i -= 2,表示 i = i - 2
    • 以上可參考:運算式與運算子
  • i++ 與 ++i?
    • 假如 i = 1,那 i++ 會先回傳(+之前的) 1,接著才把 i 設定為(+之後的) 2 (先回傳原值,再把值變動)
    • 而 ++i 將把 i 設定為(+之後的) 2 並回傳(+之後的) 2(設定並回傳結果)
    • 參考下例
var a = 1;
console.log(a);
console.log(a++);
console.log(a);
// 1
// 1 之後才變2
// 2

var a = 1;
console.log(a);
console.log(++a);
console.log(a);
// 1
// 2 已經變2
// 2

次回

似乎該進入 DOM ,還是要再補充什麼呢?


上一篇
Day12 - 物件
下一篇
Day14 - 迴圈(02) - 綜合練習
系列文
JavaScript 新手筆記31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言