我需要能够创建一个单独的函数,该函数从两个不同函数内的变量创建总计。
function addToy1()
{
var i = document.getElementById("qty_toy1");
var qtytoy1 = i.options[i.selectedIndex].text;
var qtytoy1tot = qtytoy1 * 26.99;
var generateTableToy1="<table width=\"210px\" border=\"0\">"
+" <tr>"
+" <td width=\"140\">Optimus Prime</td>"
+" <td width=\"25\">x " + qtytoy1 + "</td>"
+" <td width=\"45\">£" + qtytoy1tot + "</td>"
+" </tr>"
+"</table>";
document.getElementById("toy1_add").innerHTML=generateTableToy1;
}
function addToy2()
{
var i = document.getElementById("qty_toy2");
var qtytoy2 = i.options[i.selectedIndex].text;
var qtytoy2tot = qtytoy2 * 14.39;
var generateTableToy2="<table width=\"210px\" border=\"0\">"
+" <tr>"
+" <td width=\"140\">Bumblebee</td>"
+" <td width=\"25\">x " + qtytoy2 + "</td>"
+" <td width=\"45\">£" + qtytoy2tot + "</td>"
+" </tr>"
+"</table>";
document.getElementById("toy2_add").innerHTML=generateTableToy2;
}
使用此代码,我需要对变量“qtytoy1tot”和“qtytoy2tot”进行求和。我是 JavaScript 新手。请尽可能提供帮助。谢谢。
最佳答案
这里有多种选择。最直接的是正如阿米特在评论中建议的那样,只需返回每个方法的总数即可。这可能有效也可能无效,具体取决于您计划如何使用这些方法。像下面这样的东西应该可以满足您的目的。
function ToyBox() {
this.total = 0;
}
ToyBox.prototype.addToy1 = function() {
var i = document.getElementById("qty_toy1");
var qtytoy1 = i.options[i.selectedIndex].text;
var qtytoy1tot = qtytoy1 * 26.99;
this.total += qtytoy1tot;
var generateTableToy1="<table width=\"210px\" border=\"0\">"
+" <tr>"
+" <td width=\"140\">Optimus Prime</td>"
+" <td width=\"25\">x " + qtytoy1 + "</td>"
+" <td width=\"45\">£" + qtytoy1tot + "</td>"
+" </tr>"
+"</table>";
document.getElementById("toy1_add").innerHTML=generateTableToy1;
};
ToyBox.prototype.addToy2 = function() {
var i = document.getElementById("qty_toy2");
var qtytoy2 = i.options[i.selectedIndex].text;
var qtytoy2tot = qtytoy2 * 14.39;
this.total += qtytoy2tot;
var generateTableToy2="<table width=\"210px\" border=\"0\">"
+" <tr>"
+" <td width=\"140\">Bumblebee</td>"
+" <td width=\"25\">x " + qtytoy2 + "</td>"
+" <td width=\"45\">£" + qtytoy2tot + "</td>"
+" </tr>"
+"</table>";
document.getElementById("toy2_add").innerHTML=generateTableToy2;
};
var toyBox = new ToyBox();
toyBox.addToy1();
toyBox.addToy2();
console.log(toyBox.total);
请记住,这里实际上只有一个函数,您应该将变量部分作为参数传递给函数,但我认为这可能超出了这个问题的范围。
关于javascript - 对不同函数求和 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10021711/