二周目 Javascript 筆記

閱讀時間約 8 分鐘

邏輯運算

  • || = 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("體重過輕");
}
    avatar-img
    0會員
    7內容數
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    Yu Chun的沙龍 的其他內容
    函式的核心組成: 函式的本體 函式的參數 函式的回傳值 函式的基本語法一: 程式碼範例 函式的基本語法二: 程式碼範例 箭頭函式語法: 省去關鍵字 function , 用 => 代替 程式碼範例 箭頭函式簡化寫法: 可以簡化的箭頭函式, 函式內部只有"回傳值": 箭頭函式簡化寫法範例: 箭頭函式簡
    AJAX // XHR是什麼: 利用 Javascript 程式進行連線 近期使用最新的 fetch fetch 函示基本語法: 處理不同格式的語法: 根據連線後回傳的資料格式, 寫出相對應的程式 取得純文字資料的回應 取得 JSON 資料的回應 練習:
    事件是什麼: 發生了一件事情 執行相對應的程式 常見事件的種類: onclick 「點擊」 onmouseover 「滑鼠移入」 onmouseout 「滑鼠移出」 onmousedown 「滑鼠按住」 onmouseup 「滑鼠放開」 事件處理的三大關鍵: 在哪個事件上發生 事件的種類是什麼 執行
    HTML DOM 是什麼? 根據HTML標籤建立的物件結構 每個HTML標籤在Javascript中都有對應的標籤物件 把HTML標籤物件串接在一起, 成為物件結構, 就稱之為HTML DOM HTML DOM (Document Object Model) 操作Document 物件: Docum
    陣列是什麼: 按照順序存放其他資料的容器 Javascript 內建的物件 利用有順序的編號,來管理內部的資料 基本語法: 取得陣列長度: 陣列.length 取得陣列中特定編號的資料: 練習題:班上同學有五位,成績分別為 20,35,45,70,100, 請印出班上成績的總平均:
    基本語法: 物件的函式: 呼叫函式的方法: this 在物件的用法: JSON 寫法:
    函式的核心組成: 函式的本體 函式的參數 函式的回傳值 函式的基本語法一: 程式碼範例 函式的基本語法二: 程式碼範例 箭頭函式語法: 省去關鍵字 function , 用 => 代替 程式碼範例 箭頭函式簡化寫法: 可以簡化的箭頭函式, 函式內部只有"回傳值": 箭頭函式簡化寫法範例: 箭頭函式簡
    AJAX // XHR是什麼: 利用 Javascript 程式進行連線 近期使用最新的 fetch fetch 函示基本語法: 處理不同格式的語法: 根據連線後回傳的資料格式, 寫出相對應的程式 取得純文字資料的回應 取得 JSON 資料的回應 練習:
    事件是什麼: 發生了一件事情 執行相對應的程式 常見事件的種類: onclick 「點擊」 onmouseover 「滑鼠移入」 onmouseout 「滑鼠移出」 onmousedown 「滑鼠按住」 onmouseup 「滑鼠放開」 事件處理的三大關鍵: 在哪個事件上發生 事件的種類是什麼 執行
    HTML DOM 是什麼? 根據HTML標籤建立的物件結構 每個HTML標籤在Javascript中都有對應的標籤物件 把HTML標籤物件串接在一起, 成為物件結構, 就稱之為HTML DOM HTML DOM (Document Object Model) 操作Document 物件: Docum
    陣列是什麼: 按照順序存放其他資料的容器 Javascript 內建的物件 利用有順序的編號,來管理內部的資料 基本語法: 取得陣列長度: 陣列.length 取得陣列中特定編號的資料: 練習題:班上同學有五位,成績分別為 20,35,45,70,100, 請印出班上成績的總平均:
    基本語法: 物件的函式: 呼叫函式的方法: this 在物件的用法: JSON 寫法:
    你可能也想看
    Google News 追蹤
    Thumbnail
    嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
    今天要來討論 1 + "1" 。 如果當兩個操作數都是數字時,+ 會執行數字相加。例如,1 + 1 結果是 2。 那如果是"1"+"1",就變成字符串相加變成11。 那我們今天要講的是1 + "1",答案是11,為甚麼呢? 這是一個類型強制轉換,今天當 + 遇到不一樣的類型時,JavaScrip
    Thumbnail
    題目敘述 Solving Questions With Brainpower 給定一個測驗題陣列,每個欄位都是一個pair, 分別記錄測驗題做完可以得到的分數,和需要的冷卻時間 (也就是會有一段時間不能作答接下來的題目)。 請問在最佳的答題策略下,最多可以獲得多少分數?
    藉由是非題的回答情況來反推答案與分數
    ※ 條件判斷語法 決策中需要處理分歧的狀況,就會用到「if」、「else if」、「else」。 ※ 語法結構: 條件式使用小括號(),裡面放判斷式。 要執行的程式碼放在大括號{}裡。 條件式只會有 true 或 false 兩種結果。 ※ 常用的比較運算子: > 大於 < 小於
    ※ 質數判斷 質數:除了1跟本身,沒有其他的因數。 因數:可以整除的數字。 用到的運算符號:「%」 mod 求餘數。 整除: mod完為0,沒有餘數。 ※ 使用for迴圈 let x = 97 // 可以修改成其他數值來測試 //flag標記 let isNotPrime = false
    問題 Write a function expect that helps developers test their code. It should take in any value val and return an object with the following two functio
    Thumbnail
    IF,Switch,三元運算子語法說明 IF條件選擇結構說明 IF為布林條件,當()內條件式滿足True執行if區塊的程式碼,不滿足則執行else區塊的程式碼,若無else也行。
    Thumbnail
    嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
    今天要來討論 1 + "1" 。 如果當兩個操作數都是數字時,+ 會執行數字相加。例如,1 + 1 結果是 2。 那如果是"1"+"1",就變成字符串相加變成11。 那我們今天要講的是1 + "1",答案是11,為甚麼呢? 這是一個類型強制轉換,今天當 + 遇到不一樣的類型時,JavaScrip
    Thumbnail
    題目敘述 Solving Questions With Brainpower 給定一個測驗題陣列,每個欄位都是一個pair, 分別記錄測驗題做完可以得到的分數,和需要的冷卻時間 (也就是會有一段時間不能作答接下來的題目)。 請問在最佳的答題策略下,最多可以獲得多少分數?
    藉由是非題的回答情況來反推答案與分數
    ※ 條件判斷語法 決策中需要處理分歧的狀況,就會用到「if」、「else if」、「else」。 ※ 語法結構: 條件式使用小括號(),裡面放判斷式。 要執行的程式碼放在大括號{}裡。 條件式只會有 true 或 false 兩種結果。 ※ 常用的比較運算子: > 大於 < 小於
    ※ 質數判斷 質數:除了1跟本身,沒有其他的因數。 因數:可以整除的數字。 用到的運算符號:「%」 mod 求餘數。 整除: mod完為0,沒有餘數。 ※ 使用for迴圈 let x = 97 // 可以修改成其他數值來測試 //flag標記 let isNotPrime = false
    問題 Write a function expect that helps developers test their code. It should take in any value val and return an object with the following two functio
    Thumbnail
    IF,Switch,三元運算子語法說明 IF條件選擇結構說明 IF為布林條件,當()內條件式滿足True執行if區塊的程式碼,不滿足則執行else區塊的程式碼,若無else也行。