0

我目前的解决方案不计算增加的​​运输成本。我的情况不起作用,我已经能够用函数做类似的问题,但我想知道我哪里出错了。

<html>
<script type="text/javascript">
var numOrdered = 0;
var priceItem = 0;
var shipCost = 0;
var amtDue = 0;
numOrdered = prompt("Enter the number ordered ",0);
priceItem = prompt("Enter the price of the item ",0);
amtDue = numOrdered * priceItem;
if (amtDue > 1000)
   {
    shipCost = 0;
   }
else
   {
    shipCost = amtDue * .1;
   }
amtDue = amtDue + shipCost;
document.write("You owe ", amtDue);
</script>
</html>
4

2 回答 2

0

我会查看 Chrome 或 Firefox 中的开发人员工具,并使用 console.log 或设置一些断点来帮助您了解什么是有效的,什么是无效的。通过这种方式,您可以查看是您的 javascript 还是您的 html 文档失败了。

话虽如此,您是在比较字符串而不是数字,因此您需要对从提示符返回的值使用 parseInt。

priceItem = parseInt(priceItem, 10);
于 2012-11-15T22:08:50.057 回答
0

这个对我有用。我把你的代码放在这里:http: //jsfiddle.net/XVzKb/

没有变化——如果我输入 5,然后当再次提示 10 时,页面中显示的总数为 55,即 5 * 10 * 1.1 = 55。请注意,如果您的输入包含非数字字符,例如$or,那么您将需要像这样解析它:

number = parseInt(response.replace(/[^0-9]/g, ''), 10)
于 2012-11-15T22:09:03.567 回答