我正在制作一个小游戏(比如一个cookie点击器,但是CS:GO版本),我必须开始学习OOP,所以我对这个编程类型真的很新,并且在某些时候会出现问题。
我很确定这是一个范围问题,但如何解决?
这是我的代码(我将进一步解释我的问题):
原型:
function amelioration(Class1, Class2, Nom, Nombre, Prix, Ajout1, Ajout2) {
this.Class1 = Class1;
this.Class2 = Class2;
this.Nom = Nom;
this.Nombre = Nombre;
this.Prix = Prix;
this.Ajout1 = Ajout1;
this.Ajout2 = Ajout2;
}
var glockClicker = new amelioration(".glockBtn .clickerUpgInpt1", ".glockBtn .clickerUpgInpt2", "glockClicker", 0, 20, 1, 1);
功能(有问题):
function buy(varAmelioration, Class1, Class2, Nom, Nombre, Prix, Ajout1, Ajout2, Multiplicateur) {
if (euroCount >= Prix) {
Nombre += 1;
euroCount -= Prix;
Prix *= Multiplicateur;
euroPerSec += Ajout1;
euroPerClick += Ajout2;
$("#caseSpot .casePerSec").val(euroPerSec);
$(Class1).val(Nombre);
Prix = parseInt(Prix);
$(Class2).val(Prix);
varAmelioration = new amelioration(Class1, Class2, Nom, Nombre, Prix, Ajout1, Ajout2);
}
}
活动:
$(".glockBtn").click(function () {
buy(glockClicker, ".glockBtn .clickerUpgInpt1", ".glockBtn .clickerUpgInpt2", glockClicker, glockClicker["Nombre"], glockClicker["Prix"], glockClicker["Ajout1"], glockClicker["Ajout2"], 1.5);
});
所以现在你拥有所有这些都是我的问题。当我触发" 事件"," 原型"然后做它的事情" 功能buy()"也是它的事。
但是当我第二次重新触发" 事件"没有改变,所有的价值都没有改变(价格=" Prix"仍然是相同的等等......)我不明白为什么,我试图分配一个新值到变量" glockClicker "您可以在" 原型中找到"但仍然没有改变这些值,我想帮助找到一个不正确的方法,或者帮助改变一个objet的值,就像它是一个变量一样。
我希望我能够清楚地告诉我你不理解的事情。
我的代码的简短版本:
function f(x) {
this.x = x;
}
var a = new f(1);
console.log(f);
function b(myVar) {
myVar += 1;
console.log(myVar);
}
b(a["x"]);
console.log(a);
console.log(a["x"]);
b(a["x"]);
console.log(a);
console.log(a["x"]);
答案 0 :(得分:0)
代码无效:
Selection
有效的代码:
GetType()