美式餐廳的櫃檯收銀員,他的名字叫做小杰,雖然他不懂為什麼老闆不給他買一台收銀機,但還是繼續打開 Chrome console 幫店員們結帳。
但別忘了老闆總是有想不完的花招,希望公司賺更多的錢,於是他告訴小杰,店裡即將要有加入會員 VIP 的活動,於是要求他在活動前,在今天先把下面的教學連結先學會,明天正式釋出活動內容…等等,今天學完???小杰好可憐,快來幫幫小杰!
成為 VIP 會員的條件,只要購買滿 200 元,就可無條件成為會員,Bob 買了 2 個漢堡,2 個 薯條,是否有滿足條件?
var VIPTotal = 200;
var hamburgerPrice = 50;
var friesPrice = 30;
var isVIP;
// 請透過比較運算子,將比較結果寫在 isVip 上
// 請利用 VIPTotal、hamburgerPrice、friesPrice 的變數進行比較
// isVIP 的型別必須為布林值 (true or false)
console.log("Bob 的 VIP 條件為"+ isVIP)
var VIPTotal = 200;
var hamburgerPrice = 50;
var friesPrice = 30;
var isVIP;
// 請透過比較運算子,將比較結果寫在 isVip 上
// 請利用 VIPTotal、hamburgerPrice、friesPrice 的變數進行比較
// isVIP 的型別必須為布林值 (true or false)
// 計算總消費額函式
function consumptionTotal(hamburgerNumber, friesNumber) {
return (hamburgerPrice * hamburgerNumber) + (friesPrice * friesNumber);
}
isVIP = consumptionTotal(2, 2) >= VIPTotal;
console.log("Bob 的 VIP 條件為" + isVIP); // false
計算的函式跟第五關一模一樣,只要把參數帶入購買的數量就好
所以會變成 isVIP = 160 >= 200,160 是小於 200 不是大於,所以 isVIP = false (條件不成立)
老闆發現大家都只買薯條衝 VIP 資格,導致大家都不買漢堡,老闆好生氣,他認為他的美味蟹堡是全美最好吃的,小杰也不知道他的自信從哪裡來的。
所以他跟小杰說,從今天起,VIP 條件必須同時符合以下兩點,才能成為 VIP 資格。
一次消費滿 200 元
一定要買 1 個漢堡
這時又來了兩位顧客,Mary 與 Mark,來看看他們有沒有符合條件吧!
// 此變數不可更改
var VIPTotal = 200;
var hamburgerPrice = 50;
var friesPrice = 30;
var markHamburgerNum = 2;
var markfriesNum = 4;
var markIsVIP;
// 如上面新增的變數,馬克買了 2 個漢堡,與 4 個薯條
// 請同時運用比較運算子與邏輯運算子,將比較結果寫在 markIsVIP 上
// markIsVIP 的型別必須為布林值 (true or false)
console.log("mark 的 VIP 條件為"+ markIsVIP)
var maryHamburgerNum = 0;
var maryfriesNum = 10;
var maryIsVIP;
// 如上面新增的變數,Mary 買了 0 個漢堡,與 10 個薯條
// 請同時運用比較運算子與邏輯運算子,將比較結果寫在 markIsVIP 上
// maryIsVIP 的型別必須為布林值 (true or false)
console.log("mary 的 VIP 條件為"+ maryIsVIP)
// 此變數不可更改
var VIPTotal = 200;
var hamburgerPrice = 50;
var friesPrice = 30;
var markHamburgerNum = 2;
var markfriesNum = 4;
var markIsVIP;
// 如上面新增的變數,馬克買了 2 個漢堡,與 4 個薯條
// 請同時運用比較運算子與邏輯運算子,將比較結果寫在 markIsVIP 上
// markIsVIP 的型別必須為布林值 (true or false)
// 計算總消費額函式
function consumptionTotal(hamburgerNumber, friesNumber) {
return (hamburgerPrice * hamburgerNumber) + (friesPrice * friesNumber);
}
markIsVIP =
markHamburgerNum >= 1 &&
consumptionTotal(markHamburgerNum, markfriesNum) >= VIPTotal;
console.log("mark 的 VIP 條件為" + markIsVIP); // true
var maryHamburgerNum = 0;
var maryfriesNum = 10;
var maryIsVIP;
// 如上面新增的變數,Mary 買了 0 個漢堡,與 10 個薯條
// 請同時運用比較運算子與邏輯運算子,將比較結果寫在 markIsVIP 上
// maryIsVIP 的型別必須為布林值 (true or false)
maryIsVIP =
maryHamburgerNum >= 1 &&
consumptionTotal(maryHamburgerNum, maryfriesNum) >= VIPTotal;
console.log("mary 的 VIP 條件為" + maryIsVIP); // false
1.計算的函式與第五關一模一樣,只要把參數帶入購買的數量就好
所以會變成 markIsVIP = 2 >= 1 && (50 * 2 + 30 * 4) >= 200;
故馬克買超過 1 個漢堡與消費滿 200,VIP 條件成立 true。
2.因為上面已經有寫函式了所以可以共用,不用重複寫
所以會變成 maryIsVIP = 0 >= 1 && (50 * 0 + 30 * 10) >= 200
雖然消費金額有超過 200,但是低消要買 1 個漢堡 Mary 沒買,故 VIP 條件不成立 false。
Mary 說:「老闆我好歹是忠實老客戶欸,我買了你八年的薯條,而且遠遠超過 200 元,竟然還不算我是 VIP,你有沒有搞錯!」
老闆怕了,他很擔心會上台灣的老天鵝娛樂被當作笑柄,所以他立馬將 VIP 條件改成,只要符合以下任一點消費條件,就能成為 VIP 資格。
一次消費滿 200 元
一定要買 1 個漢堡
我們再看看 Mary 有沒有符合條件吧!
var VIPTotal = 200;
var hamburgerPrice = 50;
var friesPrice = 30;
var maryHamburgerNum = 0;
var maryfriesNum = 10;
var maryIsVIP;
// 如上面新增的變數,Mary 買了 0 個漢堡,與 10 個薯條
// 請同時運用比較運算子與邏輯運算子,將比較結果寫在 markIsVIP 上
// maryIsVIP 的型別必須為布林值 (true or false)
console.log("mary 的 VIP 條件為"+ maryIsVIP)
var VIPTotal = 200;
var hamburgerPrice = 50;
var friesPrice = 30;
var maryHamburgerNum = 0;
var maryfriesNum = 10;
var maryIsVIP;
// 如上面新增的變數,Mary 買了 0 個漢堡,與 10 個薯條
// 請同時運用比較運算子與邏輯運算子,將比較結果寫在 markIsVIP 上
// maryIsVIP 的型別必須為布林值 (true or false)
// 計算總消費額函式
function consumptionTotal(hamburgerNumber, friesNumber) {
return (hamburgerPrice * hamburgerNumber) + (friesPrice * friesNumber);
}
maryIsVIP =
maryHamburgerNum >= 1 ||
consumptionTotal(maryHamburgerNum, maryfriesNum) >= VIPTotal;
console.log("mary 的 VIP 條件為" + maryIsVIP); // true
1.只要有買 1 個漢堡或(||)是有消費 200 塊以上其中一個有符合條件就成立。
2.maryIsVIP = 0 >= 1 || (50 * 0 + 30 * 10) >= 200
消費金額有超過 200,雖然漢堡 Mary 沒買,但其中一個有符合條件就可以了,故 VIP 條件成立 true。
您轉職成功了嗎?
我也正在看youtube影片學 javascript 中
目標也是成為前後站開發人員
一起努力