JS While (JS 教學) – while就是在條件句作立, 即true的情況下, 繼續執行while的block內的邏輯, 直至條件句的結果為false. 其重點在條件句的成立與while 內 BLOCK的重用.
迴圈的重要性
迴圈的重要性在於重用block 內的logic, 免得一直地寫下重覆的code. 而為何while重要呢? 我個人覺得因為它能補助for loop的不足. 有些情況下是用while比for適合的, 例如條件句的variable不是以固定的增距來運作, 又或者是variable不需要Programmer的code來更新等.
四種情況下用while
- 在一個無限looping內, 用if的條件句(即當到了一定的條件), 就break (跳出迴圈).
- while的條件句內的variable會自動更新, 如while(expiredDate < DateTime.Now).
- 條件句內的varaible需要用while的block內計算出來.
- 條件句內的varaible需要用while的block內的datasource, 來取出variable的值.
while於JS的應用例子
如最近我寫了一個類似textbox的control, 要一個一個字串取讀來計算在touch時textbox中的 cursor 位置, 我就用了這個方法.
while於JS應用一覽表
本篇暫時只以基礎的介紹, 以下為一些例子顯示出while的用法. Let’s Start!
句型 | 次序: |
while (condition) { // code block to be executed } | condition 條件如乎合, 繼續code block to be executed condition 條件如乎合, 繼續code block to be executed …… 直至 condition 條件不乎合, 跳出LOOP |
例子 | |
var a = 2; var b = 3; while (a + b < 20) { a += 2; b += 3; } | 1) a + b = 5, 5 小於 20, 所以條件乎合, 繼續 2) a += 2; b += 3; 3) a + b = 10, 10 小於 20, 所以條件乎合, 繼續 ……. 直至 a + b = 20, 20 等於 20, 條件不乎合, 跳出LOOP |
句型 | 次序: |
do{ // code block to be executed }while (condition); | // code block to be executed condition 條件如乎合, 繼續 //code block to be executed condition 條件如乎合, 繼續 …… 直至 condition 條件不乎合, 跳出LOOP |
例子 | |
var a = 2; var b = 3; do{ a += 2; b += 3; }while (a + b < 20); | 1) a += 2; b += 3; 2) a + b = 5, 5 小於 20, 所以條件乎合, 繼續 3) a += 2; b += 3; 4) a + b = 10, 10 小於 20, 所以條件乎合, 繼續 ……. 直至 a + b = 20, 20 等於 20, 條件不乎合, 跳出LOOP |
相關頁面:
JS 條件句 – 學會 if 的基礎用法 – Control flow 的流程
JS 迴圈 – Javascript For, For Each 迴圈的基礎用法
參考資料: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while