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);
}