iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
Modern Web

JavaScript 基礎修練系列 第 7

[Day07] JavaScript - 迴圈_part 1

  • 分享至 

  • xImage
  •  

for迴圈

我們一般會使用for迴圈進行某些次數的迴圈,(迴圈次數確定時)

  • 一個for迴圈會不斷重複,直到一個指定的條件式判斷為false。

語法

for ([initialExpression]; [conditionExpression]; [incrementExpression]) {
  statement
}

中文翻譯:

for (變數初始值; 條件判斷式; 遞增表達式) {
	 陳述式
} 

依MDN的原文翻譯,這裡的"遞增表達式" 在字面上較容易引起誤會,因為不只可以做遞增也可以遞減,只是我們比較常用的是遞增。

以下是我們常見的寫法,會得出結果1~10。

for (var i=1; i <= 10 ; i++ ) {
	console.log(i);
}

但要注意的是,這裡的 i 使用var宣告,代表i可能會變成全域變數。

可以用以下兩種方式,不讓 i 變成全域變數:

  1. 將此 for 迴圈包在一個function函式裡面:
    因為var是"函式作用域",若在一個函式內使用 var 宣告變數,那這個變數就變成了一個區域變數。
    (參考第3篇:https://ithelp.ithome.com.tw/articles/10259899)
function myFunc(){
	for (var i=0; i <= 10 ; i++ ) {
		console.log(i);
	}
};
  1. 改用let宣告:

    若將var改成用let宣告,這裡的i 即變成了區域變數。

for (let i = 1; i <= 10 ; i++ ) {
	console.log(i);
}

while 迴圈

相較於需要很確定重覆次數(重覆次數為可被計算的)的for迴圈, while 用來進行某條件的迴圈 (次數可能不固定)

  • while迴圈語句可以說是for迴圈語句的簡單版本,可以根據不同的使用情況選擇要使用哪一種。它只需要一個判斷情況(condition)的表達式即可,它的基本語法結構如下:

語法

while (condition)
statement

中文翻譯:

let 變數初始值 ;

while (條件判斷式 ) {
	 陳述式;
	 遞增表達式;
} 

while 語句在條件式判斷為true時,會不斷執行它的陳述式。直到條件判斷式為 false時,在迴圈中的陳述式會停止執行,並跳出迴圈。

  • 接續上方使用for loop印出1~10,現在改成while的寫法:
    var i = 1
    while (i <=10) {
        console.log(i);
        i++;
    }
    
    

待續...明天再繼續介紹forEach & do...while/images/emoticon/emoticon41.gif

資料來源:
https://eyesofkids.gitbooks.io/javascript-start-from-es6/content/part3/loop.html
http://dic.vbird.tw/javascript/unit05.php


上一篇
[Day06] JavaScript - Hoisting 提升
下一篇
[Day08] JavaScript - 迴圈_part 2
系列文
JavaScript 基礎修練30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言