分支结构

分支结构:

程序本质分为三大结构: 顺序结构 | 分支结构 if|switch | 循环结构 for|while|do...while

根据程序代码执行的方式 划分为 三大结构

// 逻辑运算符 => 类似于 if单分支结构
// 三目运算符 => 类似于 if...else分支结构

/* py 语法
    if 条件表达式:
        代码块;

   js 语法
    if (表达式) {
        代码块
    }
 */
if (1) {
    var a = 10;
    let b = 20;
    console.log("d:%d只能在块级作用域中访问", b);
}
console.log("a:%d在块级作用域内外都可以访问", a);

/* 全语法
    if (表达式1) {

    } else if () {

    }
    ...
    else if () {

    }
    else {

    }
 */
/*
if 与 if直接可以随意嵌套
 */
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);

}

原文地址:https://www.cnblogs.com/zhouhai007/p/10140021.html