Javascript 将参数传递到函数以保持运行总数

Javascript 将参数传递到函数以保持运行总数,javascript,parameters,arguments,Javascript,Parameters,Arguments,我试图通过将价格传递到函数中,在Javascript中创建一个运行总数 当用户按下按钮时,价格被传递到addBalance函数中。我不知道如何添加和显示运行总数 我被卡住了。请帮忙 // JavaScript Document document.getElementById("computing").addEventListener('click', function() { "use strict"; bookOrder("Computing"); }, false); doc

我试图通过将价格传递到函数中,在Javascript中创建一个运行总数

当用户按下按钮时,价格被传递到addBalance函数中。我不知道如何添加和显示运行总数

我被卡住了。请帮忙

// 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);