Javascript 将参数传递到函数以保持运行总数
我试图通过将价格传递到函数中,在Javascript中创建一个运行总数 当用户按下按钮时,价格被传递到addBalance函数中。我不知道如何添加和显示运行总数 我被卡住了。请帮忙Javascript 将参数传递到函数以保持运行总数,javascript,parameters,arguments,Javascript,Parameters,Arguments,我试图通过将价格传递到函数中,在Javascript中创建一个运行总数 当用户按下按钮时,价格被传递到addBalance函数中。我不知道如何添加和显示运行总数 我被卡住了。请帮忙 // JavaScript Document document.getElementById("computing").addEventListener('click', function() { "use strict"; bookOrder("Computing"); }, false); doc
// JavaScript Document
document.getElementById("computing").addEventListener('click', function() {
"use strict";
bookOrder("Computing");
}, false);
document.getElementById("english").addEventListener('click', function() {
"use strict";
bookOrder("English");
}, false);
document.getElementById("maths").addEventListener('click', function() {
"use strict";
bookOrder("Maths");
}, false);
document.getElementById("geography").addEventListener('click', function() {
"use strict";
bookOrder("Geography");
}, false);
document.getElementById("history").addEventListener('click', function() {
"use strict";
bookOrder("History");
}, false);
document.getElementById("science").addEventListener('click', function() {
"use strict";
bookOrder("Science");
}, false);
document.getElementById("showArray").addEventListener('click', showArrayValues);
var books = []; //array
//user defined function & passing parameters
function bookOrder(book) {
"use strict";
//conditional statement
switch (book) {
case "Computing":
books.push("<p>Computing - £6.99</p>");
addBalance(6.99);
alert("Computing - £6.99, has been added to your order");
break;
case "English":
books.push("<p>English - £7.99</p>");
addBalance(7.99);
alert("English - £7.99, has been added to your order");
break;
case "Maths":
books.push("<p>Maths - £8.99</p>");
addBalance(8.99);
alert("Maths - £8.99, has been added to your order");
break;
case "Geography":
books.push("<p>Geography - £9.99</p>");
addBalance(9.99);
alert("Geography - £9.99, has been added to your order");
break;
case "History":
books.push("<p>History - £10.99</p>");
addBalance(10.99);
alert("History - £10.99, has been added to your order");
break;
case "Science":
books.push("<p>Science - £11.99</p>");
addBalance(11.99);
alert("Science - £11.99, has been added to your order");
break;
}
}
function showArrayValues() {
"use strict";
document.getElementById("output").innerHTML = "";
for (var i in books) //loop
{ //manipulating the DOM
document.getElementById("output").innerHTML += books[i];
}
}
function addBalance(param1) {
"use strict";
parseFloat(document.getElementById("total").innerHTML += param1);
}
//JavaScript文档
document.getElementById(“计算”).addEventListener('click',function(){
“严格使用”;
书单(“计算”);
},假);
document.getElementById(“英语”).addEventListener('click',function(){
“严格使用”;
书单(“英文”);
},假);
document.getElementById(“数学”).addEventListener('click',function(){
“严格使用”;
书单(“数学”);
},假);
document.getElementById(“地理”).addEventListener('click',function(){
“严格使用”;
书单(“地理”);
},假);
document.getElementById(“历史”).addEventListener('click',function(){
“严格使用”;
书单(“历史”);
},假);
document.getElementById(“科学”).addEventListener('click',function(){
“严格使用”;
书单(“科学”);
},假);
document.getElementById(“showArray”).addEventListener(“单击”,ShowArrayValue);
var账簿=[]//排列
//用户定义函数和传递参数
函数bookOrder(book){
“严格使用”;
//条件语句
开关(书本){
案例“计算”:
books.push(“计算-6.99英镑””;
addBalance(6.99);
警报(“计算-6.99英镑,已添加到您的订单中”);
打破
案例“英语”:
books.push(“英语-7.99英镑””;
addBalance(7.99);
警报(“英语-7.99英镑,已添加到您的订单中”);
打破
案例“数学”:
图书推送(“数学-8.99英镑””;
addBalance(8.99);
警报(“数学-8.99英镑,已添加到您的订单中”);
打破
案例“地理”:
图书推送(“地理-9.99英镑””;
addBalance(9.99);
警报(“您的订单中已添加了9.99英镑的地理信息”);
打破
案例“历史”:
图书推送(“历史-10.99英镑””;
addBalance(10.99);
警报(“历史记录-10.99英镑,已添加到您的订单中”);
打破
案例“科学”:
图书推送(“科学-11.99英镑””;
addBalance(11.99);
警报(“科学-11.99英镑,已添加到您的订单中”);
打破
}
}
函数showArrayValues(){
“严格使用”;
document.getElementById(“输出”).innerHTML=“”;
for(书籍中的var i)//循环
{//操作DOM
document.getElementById(“output”).innerHTML+=books[i];
}
}
函数addBalance(参数1){
“严格使用”;
parseFloat(document.getElementById(“total”).innerHTML+=param1);
}
在顶部添加:
var total=0;
以及:
您可以使用array reduce轻松计算总数。e、 g
var calc = total.reduce(function(sum, val) {
return sum + val;
}, 0);
请参见此处您只需将一个对象传递给每个case元素下的books数组,包括当前元素及其价格。然后,您可以通过遍历books数组随时显示总计。这是一种享受!谢谢
var calc = total.reduce(function(sum, val) {
return sum + val;
}, 0);