1. 程式人生 > >JS基礎3

JS基礎3

分支結構

/ 程式本質分為三大結構: 順序結構 | 分支結構 if|switch | 迴圈結構 for|while|do...while
// 根據程式程式碼執行的方式 劃分為 三大結構

// 邏輯運算子 => 類似於 if單分支結構

// 三目運算子 => 類似於 if...else分支結構

  js 語法
        if (表示式) {
            程式碼塊
        }

if (1) {
        var a = 10;
        let b = 20;
        console.log("b:%d只能在塊級作用域中訪問", b);
    }
    console.log("a:%d在塊級作用域內外都可以訪問", a);

 

 /* 全語法
        if (表示式1) {

        } else if () {

        }
        ...
        else if () {

        }
        else {

        }
     */

舉例
var salary = prompt("請輸入所發工資:");
    if (salary > 0) {
        console.log("工資已發, 打算還賬!");
        salary -= 100000;
        if (salary > 0 ) {
            console.log("拯救世界...");
        } else if (salary == 0) {
             console.log("家裡蹲, 峽谷見");
        } else {
            console.log("借錢, 填窟窿, 誰來拯救我...");
            console.log("借%d元錢", -salary);
        }
    } else {
        console.log("拿我刀來, 允許你跑49m");
    }

 

// switch分支
    /* 語法
        switch (結果為整數|字串的表示式) {
            case 值1(值需要和表示式進行型別統一): 程式碼塊; break;
            ...
            case 值n: 程式碼塊; break;
            default: 程式碼塊;
        }

// 用例
    var num = prompt("請輸入一個自然數: ");  // 輸入接收的預設為字串型別資料
    var num = +num;
    switch (num) {
        case "0": console.log("使用者輸入的是數字0"); break;
        case "1": console.log("使用者輸入的是數字1"); break;
        case 0: console.log("change, 使用者輸入的是數字0"); break;
        case 1: console.log("change, 使用者輸入的是數字1"); break;
        default: console.log("使用者輸入的是數字非0和1");

// default分支, 出現在所有case之下, 當所有case沒有匹配上, 走該分支,
    // 該分支也可以省略, 代表沒有未匹配到的動作

    // switch()中的表示式結果為 整型 或 字串, case的值要與其對應

    // break作用是結束分支結構(結束所屬switch語句), 可以省略


var month = +prompt("請輸入月份");
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10:  case 12:
console.log("%d月天數為31天", month); break;
case 4: case 6: case 9: case 11:
console.log("%d月天數為30天", month); break;
case 2:
console.log("%d月天數為28天", month);
    }