--- tags: JS 直播班 --- # 檢核點 - 第二週 **重點觀念:** **回覆參考:** ``` ``` --- 建議: **第一題** ```javascript= // true // true // true // false // true // false // true // false ``` **第二題** ```javascript= // false // true // true // true // true // false // true,值為數字的字串在跟數字型別做相乘時,會自動將字串的型態轉為數字,所以 "5"*2 會等於 10,也符合 >=5 的條件 ``` **第三題** 確認說明正確:因為條件成立,變數會被重新賦值。 **第四題** 注意條件中的 120 請用 resturantChildHeight 變數代替 解答: ```javascript= let childHieght = 133; let resturantChildHeight = 120; let bill = 600; if ( childHieght > resturantChildHeight ){ bill += 300; } console.log(`他們總共支付了${bill}元`); ``` **第五題** 確認判斷正確性 解答一: ```javascript= let badge = 3; let buyThingsNum = 4; if (buyThingsNum >= 5){ badge +=3; }else { badge +=1; } console.log(`小華一共得了 ${badge} 個徽章`); ``` 解答二: 數量要一樣的情況可以 寫成 buyThingsNum === 5 ```javascript= let badge = 3; let buyThingsNum = 4; if (buyThingsNum === 5){ badge +=3; }else { badge +=1; } console.log(`小華一共得了 ${badge} 個徽章`); ``` **第六題** ```javascript= // true // false // true // 是否有折扣資格 // true // || 是代表只要符合其中一項條件即可成立,雖然 hamPrice*hamNum 沒有大於 3000,但 hamNum 有大於 20,所以結果為 true ``` **第七題** 確認判斷正確性 解答 ```javascript= let weight = 100; if (weight >= 40 && weight < 60){ console.log("體重過輕"); } else if ( weight >= 60 && weight < 80 ){ console.log("體重正常"); }else if (weight >= 80){ console.log("體重過重"); } ``` 解法二:(因為這樣也符合邏輯,因此可以給過) ```javascript= if (weight >= 80) { console.log("過重"); } else if (weight >= 60) { console.log("正常"); } else if (weight >= 40) { console.log("過輕"); } ``` **第八題** bobIsVip 可以直接作為條件,不需要寫 == true 解答 ```javascript= let giftNum = 200; /*贈品數量*/ let giftPriceRule = 399; /*贈品消費門檻*/ let BobPrice = 500; /*Bob 消費金額*/ let BobIsVip = false; /*Bob 是否為Vip*/ if (BobPrice >= giftPriceRule || BobIsVip){ console.log("客戶您好,您有符合贈品資格"); giftNum -= 1 }else{ console.log("客戶您好,您沒有符合贈品資格"); } console.log(`贈品還剩下 ${giftNum} 個`); ``` **第九題** 要注意大於等於或是小於等於的運用,例如:mingMoney >= 1000000 解答 ```javascript= let mingMoney = 870000; /*小明全年個人所得*/ let mingBill = 5000; /*小明稅收帳單,並已加入條件-基本費 5,000 元*/ //程式碼填寫開始處 if (mingMoney <= 540000){ mingBill += mingMoney*0.3; }else if (mingMoney > 540000 && mingMoney <= 1000000){ mingBill += mingMoney*0.5; }else { mingBill += mingMoney*0.8; } 或是 else if (mingMoney > 1000000) { ... } 也可以 console.log(`小明總共需支付 ${mingBill} 帳單`); ``` **第十題** 判斷有多種解答,只要邏輯正確就 ok 使用 if, else if 或是 if 包 if 判斷,或是用 || 運算子判斷也 ok ``` // 以下為助教驗證方式 // 1.當 playerA 賦予值為剪刀、B 為剪刀時,console.log 為平手 // 2.當 playerA 賦予值為剪刀、B 為石頭時,console.log 為 B 玩家獲勝 // 3.當 playerA 賦予值為剪刀、B 為布時,console.log 為 A 玩家獲勝 ``` 一般解答 ```javascript= let playerA = '剪刀'; let playerB = '剪刀'; if (playerA === playerB ) { console.log('平手'); } else if (playerA ==='剪刀'){ if (playerB === '石頭') { console.log('B 玩家獲勝'); } else { console.log('A 玩家獲勝'); } } else if (playerA ==='石頭'){ if (playerB === '布') { console.log('B 玩家獲勝'); } else { console.log('A 玩家獲勝'); } } else if (playerA ==='布'){ if (playerB === '剪刀') { console.log('B 玩家獲勝'); } else { console.log('A 玩家獲勝'); } } ``` 助教新增建議: *