gpt4 book ai didi

javascript - 压缩相似的函数

转载 作者:行者123 更新时间:2023-12-01 02:33:58 24 4
gpt4 key购买 nike

所以我想做的是转换一系列函数,例如:

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');
}
}

我想知道是否有办法做到这一点,但我似乎找不到。如果有人可以帮助我或为我指出正确的方向,我就会进货。

最佳答案

假设变量的范围是全局的,您可以执行以下操作来访问变量:

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作为变量/参数名称——它是保留的。

关于javascript - 压缩相似的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48089617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com