邏輯運算
- || = or 或 ; true || false ⇒ true p.s 只要左右兩邊有一個true , 那就是true
- && = and 和 ; true && false ⇒ false p.s 兩邊都要一樣
- ! = not ; !true ⇒ false ; 相反
邏輯運算的短路性質
1 || 2 > 印出 1 原因 : 1 = 一個有效的資料(true) 2 = 一個有效的資料(true) ; 但是程式跑到 1 的時候 答案就已經出來了是true 所以程式已經結束不會跑到2 就跳到下一行
1 || 0 > 印出 1 原因 : 1 = 一個有效的資料(true) 0 = 一個空的資料(false)
0 || 1 > 印出 1 原因 : 1 = 一個有效的資料(true) 0 = 一個空的資料(false) ; 但是程式跑到第一個false的時候 還要看後面是什麼來決定是true or false , 後面是true 所以印出 1
1 && 2 > 印出 2
0 && 1 > 印出 0 ; 因為第一個false 程式就結束了
變數
let a =1
console.log(a & 1) = 判斷奇數或偶數
陣列 Arry
let scoreStuden = [15, 30, 50, 75, 100]; // 陣列序號從0開始
scoreStuden.push(95); // 放入物件
console.log(scoreStuden.length);
物件 Object
let peter = { // 物件裡面可以再放物件或陣列
name: "Peter",
age: 18,
score: "100",
father: {
name: "Hank",
age: "50",
phone: "123456789",
},
};
let key = peter;
console.log(key.father.age); // 有兩種方法印出物件
console.log(key["father"]["age"]); // 取出物件中特定的資料
注意變數的型態
let a = 10;
let b = "20"; // 變數型態為字串
console.log(a + b); // 印出 1020
console.log(a + Number(b)); // 用 Number把 B 變回 數字 , 印出 30
== 與 === 差別
== 只判斷內部資料是否相等 例如 1 == “1” ⇒ true
=== 多判斷一個型態 例如 1 === "1"=> false
if 判斷式
let Score = 50;
if (Score >= 60) { // ()裡面放"條件" , 若為true 執行第一段程式, 若為 falsd , 執行第二段程式
console.log("及格");
} else {
console.log("不及格");
}
let Score = 100;
if (Score % 5 === 0) { // % 模運算, 取餘數 , 假設能被 n 整除, 代表為n 的倍數
console.log("為五的倍數"); // 印出 為五的倍數
} else {
console.log("不是五的倍數");
}
if .. else if .. else 多個條件判斷式
/*
判定 65歲以上為老人 , 18~64 歲為年輕人 , 18歲以下(不包含18)為小孩
age >= 65, old
18 <= age < 65, young
age < 18, children
*/
let age = 100;
if (age >= 65 && age <= 120) { // 設定最大年齡為 120 , && = and and 兩邊條件都要為true
console.log("old");
} else if (age < 65 && age >= 18) { // 設定年齡為 18~65 之間
console.log("young");
} else if (age < 18 && age > 0) { // 設定年齡最小為 0 歲
console.log("children");
} else {
console.log("請重新輸入"); // 假設輸入以上都不是的數字, 印出重新輸入
}
練習題:
- 判斷是否及格
判斷一個叫做 score 的變數是否及格(超過或剛好 60 分),如果及格的話就輸出 pass, 否則輸出 fail。
進階練習:
除了判斷是否及格以外,也請你對滿分做出特別判斷,如果是 100 分的話就輸出 you are no1!
// score >= 60 pass
// score < 60 fail
// 100 === you are no1
let scores = 59;
if (scores === 100) {
console.log("you are no1!");
} else if (scores >= 60) {
console.log("pass");
} else if (scores < 60) {
console.log("fail");
}
- BMI計算
BMI 值的計算公式為:體重 / 身高^2。
假設體重是 70,身高是 180(1.8m),BMI 就是 70/(1.8*1.8) = 21。
現在請你寫出一個簡單的 BMI 計算器,用兩個變數代表體重跟身高,算出 BMI 之後判斷 BMI 是落在哪個範圍內並輸出相對應的字串。
體重過輕:BMI < 18.5
正常範圍:18.5 <= BMI < 24
過重:24 <= BMI < 27
輕度肥胖:27 <= BMI < 30
中度肥胖:30 <= BMI < 35
重度肥胖:35 <= BMI
let height = 1.78;
let weight = 75;
let bmi = weight / (height * height);
console.log(bmi);
if (bmi >= 35) {
console.log("重度肥胖");
} else if (bmi < 35 && bmi >= 30) {
console.log("中度肥胖");
} else if (bmi < 30 && bmi >= 27) {
console.log("輕度肥胖");
} else if (bmi < 27 && bmi >= 24) {
console.log("過重");
} else if (bmi < 24 && bmi >= 18.5) {
console.log("正常範圍");
} else if (bmi < 18.5) {
console.log("體重過輕");
}