这週来到了我最害怕的情境题
因为这部份稍微不足一点
所以更加要好好练习~~~
情境
你现在是美式餐厅的柜檯收银员,但老闆因为预算有限,所以没有买收银机,所以你只能透过 JavaScript 来帮顾客结帐。
以下变数都不可变更:
第一题 顾客 Bob 向店员询价
顾客 Bob:「请问我要买 4 个汉堡,30 份薯条,总共多少?」
答案
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 元,买了一个汉堡,三个薯条,他还剩下多少钱?
答案
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 元。