---
# System prepended metadata

title: 檢核點 - 第二週
tags: [JS 直播班]

---

---
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 玩家獲勝');
 }
} 
```



助教新增建議：

* 