- 你不知道的JavaScript(下卷)
- (美)凯尔·辛普森
- 697字
- 2020-08-29 01:58:06
1.12 实践
在编程学习中,实践是绝对无法替代的。无论我如何在这里阐释说明,理论都无法让你成为一个程序员。
谨记这一点。我们来尝试针对在本章中学习到的概念进行一些练习。我会给出“需求”,你先试着解决这些“需求”。然后查看以下列出的代码,看看我是如何解决的。
· 编写程序以计算购买手机所需的总金额。你需要一直购买手机(提示:循环!)直到银行账号中的资金不足。而且,只要价格低于你的心理预期值,那么就要为每个手机购买附件。
· 计算总金额后再加上税费,然后以适当的格式打印出计算出的总金额。
· 最后,检查银行账号的余额,确认是否能买得起。
· 需要为“税率”、“手机价格”、“附件价格”和“预算阈值”建立一些常量,为“银行账号的余额”建立变量。
· 你应该定义一些函数来计算税费,格式化价格加上“$”符号并保留两位小数。
· 附加题:试着在这个程序中集成输入,你可以使用1.3.2节中介绍的prompt(..)。比如,你可以提示用户输入他们的银行账号余额。享受吧,发挥你的创造力!
好了,你现在可以开始实践了。在你自己尝试之前不要先看我的代码!
因为本书是一本关于JavaScript的书,显然我会使用JavaScript来完成这个练习。但你也可以根据个人意愿而使用其他语言来实现。
以下是我针对上述练习而设计的JavaScript解决方案:
const SPENDING THRESHOLD = 200; const TAX RATE = 0.08; const PHONE PRICE = 99.99; const ACCESSORY PRICE = 9.99; var bank balance = 303.91; var amount = 0; function calculateTax(amount) { return amount * TAX RATE; } function formatAmount(amount) { return "$" + amount.toFixed( 2 ); } // 如果还有余额,那么继续购买手机 while (amount < bank balance) { // 购买新的手机! amount = amount + PHONE PRICE; // 是否可以负担得起附件? if (amount < SPENDING THRESHOLD) { amount = amount + ACCESSORY PRICE; } } // 别忘了交税 amount = amount + calculateTax( amount ); console.log( "Your purchase: " + formatAmount( amount )
); // 你的购买金额:$334.76 // 你真的可以负担得起本次购买吗? if (amount > bank balance) { console.log( "You can't afford this purchase. :(" ); } // 你无法负担本次购买。:(
运行这个JavaScript程序最简单的方法是,将其输入到你手边浏览器的开发者终端中。
你是如何实现的呢?你现在已经看到了我的代码,不妨再试一下。你可以修改其中的一些常量,看看这个程序在不同的值之下是怎么运行的。