iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
0
自我挑戰組

JavaScript 新手筆記系列 第 11

Day11 - 流程控制與判斷

  • 分享至 

  • xImage
  •  

前言

這次主要是說明流程控制與判斷的部分

流程控制

  • if else 和 else if
  • switch case
    • 可能性太多可以使用,利用 case 來列出
    • 要搭配 break 使用,否則會持續執行後面的程式
    • 都不滿足則執行 default
var carMod;
var trafficLight = "green";

switch (trafficLight) {
    // 滿足相關的 case 則執行相關條件後跳出( break )
    // 此例為執行 case "green" 的條件
    case "red" :
        carMod = "停止";
        break;
    case "yellow" :
        carMod = "減速";
        break;
    case "green" :
        carMod = "前行";
        break;
    // 都不滿足則執行 default
    default :
        break;
}

判斷

  • 邏輯:&&(和)、||(或)、!(否)
    • 比較左和右的值,若滿足傳出 true ,不滿足傳出 false
    • 運算式1 && 運算式2 :運算式1 和 運算式2 皆成立為 true ,其他3種為 false,1t3f
    • 運算式1 || 運算式2 :運算式1 或 運算式2 其中1種以上成立為 true ,當兩者皆不成立為 false,3t1f
    • 可參考之前所說:運算式與運算子
var a1 =  true && true;     // t && t 回傳 true
var a2 =  true && false;    // t && f 回傳 false
var a3 = false && true;     // f && t 回傳 false
var a4 = false && false;    // f && f 回傳 false

var b1 =  true || true;     // t || t 回傳 true
var b2 = false || true;     // f || t 回傳 true
var b3 =  true || false;    // t || f 回傳 true
var b4 = false || false;    // f || f 回傳 false
  • 比較:> 、 < 、 =
    • 用來比較前後數值,可以加 = ,如>=、<=,不是=>
  • = 和 == 和 === ?
    • = 為賦值, a = 3 ,表示把右邊的 3 賦值給左邊的 a
    • == 為(一般)等於,會將型別一致化後比較
    • === 為(嚴格)等於,不會將型別一致化後比較
    • 參考:相等比較
var a = 1;
if (a = 5){
    console.log("YES");
    console.log("a = " + a);
} else {
    console.log("NO");
    console.log("a = " + a);
}
// 輸出如下
// YES
// a = 5
// 因為 a 在 if 內的判斷式被變更為 5 了

console.log(1 == 1); // 印出 true,型別相同,值相同
console.log(1 == "1"); // 印出 true,型別轉換後,值相等
console.log(1 === "1"); // 印出 false,型別不同

次回

進行一下物件的部分


上一篇
Day10 - 陣列
下一篇
Day12 - 物件
系列文
JavaScript 新手筆記31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言