这是我第一次发帖,所以如果我违反任何规则原谅我。我知道有一些关于收银机的答案,但我的任务是制作收银机主题网站,我使用提示订购,并在网页上给出一个总数。我已经得到了这个代码来计算小计,但我无法弄清楚为什么总计没有被计算,还有一件事我如何在使用console.log时获取document.write来给出总数。请帮忙。谢谢。
<!doctype html>
<html>
<head>
meta charset="utf-8">
<title>Please Make this Work!</title>
</head>
<body>
<script>
var items = ["Bananas", "Kiwis", "Apples", "Pears", "Orange"];
var numItems = new Array();
for (i=0; i<items.length; i++) {
numItems.push(prompt("How Many " +items[i] +" do you want?"));
console.log(numItems);
}
var $items= [3, 4, 3.5, 1, 0.75];
for (i=0; i<items.length; i++) {
var itemTotal=new Array();
itemTotal= ($items[i]*numItems[i]);
console.log(itemTotal);
for (it=0; i<itemTotal.length; it++) {
var x = itemTotal[it];
var total = x + itemTotal[it];
console.log(total);
}
}
document.write(total);
</script>
</body>
</html>
答案 0 :(得分:1)
您的脚本中存在一些逻辑缺陷。注意for循环中应该包含什么,以及在某个循环之后需要执行什么。虽然您需要检查变量类型,但例如var a = 12 + "2"
将变为a = "122"
。使用parseInt (var)
解析输入提示中的数字。要增加变量do var a = 0; var a += 2
。之后var a
将为2
。
我修复了你的代码:
<html>
<head>
<meta charset="utf-8">
<title>Please Make this Work!</title>
</head>
<body>
<script>
var items = ["Bananas", "Kiwis", "Apples", "Pears", "Orange"];
var numItems = new Array();
for (i=0; i<items.length; i++) {
numItems.push(prompt("How Many " +items[i] +" do you want?"));
console.log(numItems);
}
var $items= [3, 4, 3.5, 1, 0.75];
var itemTotal=new Array();
for (i=0; i<items.length; i++) {
itemTotal.push ($items[i]*parseInt(numItems[i]));
console.log(itemTotal);
}
var total = 0;
for (j=0; j<itemTotal.length; j++) {
total += itemTotal[j];
console.log(total);
}
document.write(total);
</script>
</body>
</html>