iT邦幫忙

2023 iThome 鐵人賽

DAY 10
2
Software Development

再騙小心沒朋友🥵 用LIFF實作LINE整人工具系列 第 10

[Day10] 不懂JavaScript 只好等著被整😔 流程控制篇 (1)

  • 分享至 

  • xImage
  •  

通常程式執行的順序都是由上到下執行,但是有些時候會需要按照不同條件去執行對應的程式碼,像是如果是晴天就戴墨鏡,如果是雨天就帶雨傘,如果都不是就啥都不帶。這種流程控制的方法就是if...else, JavaScript 流程控制的語法有很多種:

  • if...else
  • switch
  • for
  • while
  • label
  • try catch finally

if...else 語法

if...else可以拆成 ifif elseelse if 三種寫法,都是用來控制條件(condition)的方法。

if 語法

先來講最簡單的if用法:

if (condition) {
  // statements
}

只有在 condition 成立時(為True),才會執行{}內的程式;如果 condition 不成立(為False) 就會跳過整個if區塊。執行下方的程式會發現不會執行任何動作,因為 age 的值沒有符合 condition ,所以直接跳過:

var age = 12;

if (age > 18) {
    alert("已成年");
}

如果 if 區塊裡面只有一個語句,可以省略{}:

var age = 12;

if (age > 18)
    alert("已成年");

if else 語法

如果想讓程式分別在 condition 成立/不成立時都做出不同的動作,可以使用if else語法:

if (condition) {![](http://)
    // statement1;
} else {
    // statement2;
}

如果 condition 成立,會執行 statement1 的程式;不符合 condition 則會執行 statement2。下面的範例顯示如果未成年,就會顯示再幾年可以喝酒:

var age = 12;

if (age > 18) {
    alert("已成年");
}
else {
var diff_age = 18 - age;
alert("再"+ diff_age +"年可以喝酒");
}

else if 語法

ifif else 都是比較偏是非題的用法,但有些情況可能會有很多條件,這個時候就可以用 else if 語法,就可以不限制條件數量的控制執行動作:

if (condition_1) {
    // statement_1;
} else if (condition_2) {
    // statement_2;
} else if (condition_n) {
    // statement_n;
} else {
    // statement_last;
} 

除了第一個 condition 前一定要放if和最後一個條件一定要放else之外,中間其他的條件前面都要接else if。下面用尋找台北的郵遞區號當範例,執行程式後會出現沒這區的結果:

var postal_code = 102;

if (postal_code == 110)
    alert("信義區");
else if (postal_code == 100) 
    alert("中正區");
else if (postal_code == 103) 
    alert("大同區");
else if (postal_code == 104) 
    alert("中山區");	
else 
    alert("沒這區");

其中==的部分叫做比較運算子(Comparison operator),用來比較資料的大小關係,下列是其他常用的比較運算子(要注意相等的比較運算子不是=而是==):

>	大於	
<	小於
==	等於
!=	不等於	
>=	大於等於
<=	小於等於

上一篇
[Day9] 不懂JavaScript 只好等著被整😔 函數篇
下一篇
[Day11] 不懂JavaScript 只好等著被整😔 流程控制篇 (2)
系列文
再騙小心沒朋友🥵 用LIFF實作LINE整人工具30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言