Javascript 凝聚相似函数
所以我要做的是转换一系列函数,比如:Javascript 凝聚相似函数,javascript,html,Javascript,Html,所以我要做的是转换一系列函数,比如: 函数类aclicksell(){ 如果(类应用>=1){ 现金=现金+类别价值; document.getElementById(“现金”).innerHTML=现金; classASupply=classASupply-1; document.getElementById(“ClassAsuply”).innerHTML=ClassAsuply; }; }; 函数classBClickSell(){ 如果(类供应>=1){ 现金=现金+类别价值; doc
函数类aclicksell(){
如果(类应用>=1){
现金=现金+类别价值;
document.getElementById(“现金”).innerHTML=现金;
classASupply=classASupply-1;
document.getElementById(“ClassAsuply”).innerHTML=ClassAsuply;
};
};
函数classBClickSell(){
如果(类供应>=1){
现金=现金+类别价值;
document.getElementById(“现金”).innerHTML=现金;
classBSupply=classBSupply-1;
document.getElementById(“classBSupply”).innerHTML=classBSupply;
};
};代码>请尝试以下代码:
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");
请尝试以下代码:
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");
假设变量的作用域是全局的,则可以执行类似操作来访问变量:
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"];
};
};
有关访问这些变量的其他方法,请参阅
并且不要使用类
作为变量/参数名称——它是保留的。假设变量的作用域是全局的,您可以这样做来访问变量:
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"];
};
};
有关访问这些变量的其他方法,请参阅
不要将class
用作变量/参数名,它是保留的。首先不要将reserve关键字class用作ClickSell函数的参数首先不要将reserve关键字class用作ClickSell函数的参数全局范围是bad@Rajesh你们很多人想把这件事提出来。基于他们的问题,他们似乎想改变全局变量值,并将其压缩成一个函数。@Rajesh我同意。这个设计到处都是代码味道,但修复不在问题的范围之内。流血到全局范围是错误的bad@Rajesh你们很多人想把这件事提出来。基于他们的问题,他们似乎想改变全局变量值,并将其压缩成一个函数。@Rajesh我同意。这个设计到处都是代码味道,但修复不在问题的范围之内。