我遇到了麻烦,我是一名新的程序员(显然),因为我没有银行账户,所以我想制作一个钱包程序以跟踪我的钱。我希望我的钱能正确加起来,但它只是结合了这些词。此外,我想知道如何存储该号码,所以当我离开并返回时,它将是相同的号码。
继承我的代码:(非常糟糕和原型)
<HTML>
<HEAD>
<TITLE> JavaScript Wallet </TITLE>
</HEAD>
<BODY>
<h2>Wallet</h2>
<script language="Javascript">
var plusCash = prompt("How much money are you entering?");
var money = 0.00;
var money = money + plusCash;
document.write("You have $" + money);
</script>
</BODY>
</HTML>
答案 0 :(得分:4)
由于prompt
返回string
值,因此向浮点数“添加”会产生字符串 - Javascript会隐式转换浮点值,因为它会减少数据丢失。要将plusCash
视为float
值,请在其上调用parseFloat
:
var money = money + parseFloat(plusCash);
答案 1 :(得分:2)
要在页面和浏览器会话之间保留值,您可以使用Cookie作为简短的简单值,也可以使用localStorage
,这是HTML5-wave平台增强功能中引入的。
在这种情况下,Cookie不是理想的,因为我猜你在磁盘上使用HTML文件,因此localStorage
会更好。
localStorage
:
window.localStorage['someValue'] = someOtherValue;
localStorage
只能存储字符串,而不能存储复杂的类型(对象)。你必须先“串化”/序列化它们,但这很容易:
window.localStorage['someObject'] = JSON.stringify( someObjectValue );
请注意,此代码需要一个相当现代的浏览器(想想IE10,Chrome或Firefox的最新版本)。