2023-04-03|閱讀時間 ‧ 約 8 分鐘

二周目 Javascript 筆記

    邏輯運算

    • || = 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("不及格");
    }
    • 是否為 n 的倍數
    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("請重新輸入"); // 假設輸入以上都不是的數字, 印出重新輸入
    }

    練習題:

    1. 判斷是否及格
    判斷一個叫做 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");
    }
    1. 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("體重過輕");
    }
    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.