iT邦幫忙

1

[鼠年全馬鐵人挑戰] Week28 - JavaScript 練習題- 變數實作情境題

這週來到了我最害怕的情境題

因為這部份稍微不足一點

所以更加要好好練習~~~

情境

你現在是美式餐廳的櫃檯收銀員,但老闆因為預算有限,所以沒有買收銀機,所以你只能透過 JavaScript 來幫顧客結帳。

以下變數都不可變更:

第一題 顧客 Bob 向店員詢價

顧客 Bob:「請問我要買 4 個漢堡,30 份薯條,總共多少?」
https://ithelp.ithome.com.tw/upload/images/20200830/20120789Yc7zlRgE9O.png

答案

var hamburgerPrice = 50;
var friesPrice = 40;
var bobTotal; 

// 計算總消費額函式
function consumptionTotal(hamburgerNumber, friesNumber) {
  return (hamburgerPrice * hamburgerNumber) + (friesPrice * friesNumber);
}

bobTotal = consumptionTotal(4, 30);

console.log("Bob 您好,您詢問的金額總計為" + bobTotal + "元");
//答案是1400元

小筆記

1.用函式是比較彈性的用帶入參數方式算出總金額。

2.因為程式碼第3行已經宣告了 var bobTotal 全域變數,所以後面可以直接拿來做使用
return 為回傳意思,故:

function consumptionTotal(hamburgerNumber, friesNumber) {
return (hamburgerPrice * hamburgerNumber) + (friesPrice * friesNumber);
}

bobTotal = consumptionTotal(4, 30);
// 會把函式運算完的結果值回傳給 bobTotal 變數
// 值帶入函式後運算式會變成 return (50 * 4) + (40 * 30),運算結果後就變成 return 1400
// 再回傳給 bobTotal,所以 bobTotal 會等於 1400

第二題 錢包剩下多少錢

mark 錢包裡有 200 元,買了一個漢堡,三個薯條,他還剩下多少錢?

https://ithelp.ithome.com.tw/upload/images/20200830/20120789k1rXr5qKDC.png

答案

var hamburgerPrice = 50;
var friesPrice = 40;
var markWallet = 200;
var markTotal;

// 計算總消費金額函式
function consumptionTotal(hamburgerNumber, friesNumber) {
  return (hamburgerPrice * hamburgerNumber) + (friesPrice * friesNumber);
}

markTotal = markWallet - consumptionTotal(1, 3);

console.log("馬克買完東西後,錢包剩下" + markTotal + "元"); // 30 元

小筆記

情境若換人購買的數量不同,只要把參數帶入購買的數量就好,所以會變成 markTotal = 200 - 170,所以 markTotal = 30 元。


尚未有邦友留言

立即登入留言