所以我要做的是转换一系列功能,如:
function classAClickSell(){
if (classASupply>=1) {
cash = cash + classAValue;
document.getElementById("cash").innerHTML = cash;
classASupply = classASupply - 1;
document.getElementById("classASupply").innerHTML = classASupply;
};
};
function classBClickSell(){
if (classBSupply>=1) {
cash = cash + classBValue;
document.getElementById("cash").innerHTML = cash;
classBSupply = classBSupply - 1;
document.getElementById("classBSupply").innerHTML = classBSupply;
};
};
我试图让它们全部类似于以下内容:
function ClickSell(class){
if (class.concat('Supply') >= 1) {
cash = cash + class.concat('Value');
document.getElementById("cash").innerHTML = cash;
class.concat('Supply')--;
document.getElementById(class.concat('Supply')).innerHTML = class.concat('Supply');
}
}
我想知道是否有办法做到这一点,我似乎无法找到一个。如果有人可以帮忙或指出我正确的方向,我将被存放。
答案 0 :(得分:1)
试试这段代码:
function classClickSell(input, node) {
if (input >= 1) {
cash += input;
document.getElementById("cash").innerHTML = cash;
--input;
document.getElementById(node).innerHTML = input;
return input;
};
};
classClickSell(10, "classASupply");
如果classASupply
实际上是全局的,并且在函数调用之后需要一个可能的减量,那么你可以将它分配给上述函数的返回值,即
var classASupply = 10;
classASupply = classClickSell(10, "classASupply");
答案 1 :(得分:1)
你可以做这样的事情来访问变量,假设变量是全局的:
function classClickSell(cls){
if (window["class" + cls + "Supply"] >= 1) {
cash = cash + window["class" + cls + "Value"];
document.getElementById("cash").innerHTML = cash;
window["class" + cls + "Supply"] = window["class" + cls + "Supply"] - 1;
document.getElementById("class" + cls + "Supply").innerHTML = window["class" + cls + "Supply"];
};
};
有关您可能访问这些变量的其他方法,请参阅#1441532。
不要将class
用作变量/参数名称 - 它是保留的。