Javascript变量值不会更新它应该的方式

时间:2014-11-10 05:09:40

标签: javascript oop

我正在重构一段时间以javascript编写的黑色插卡游戏。原始版本是非常程序化的,看起来很业余,所以我重做它的OOP风格 - 这是我第一次尝试编写OOP。我已经包含了一个链接到我的代码的摘录,似乎没有工作。我只包含了最相关的代码,因为整个脚本长达数百行。

基本上,我有一个名为Betting的原型,其中包含我游戏所需的所有基于投注的功能。我有另一个名为GameUI的原型,它记录了我在游戏中的所有点击事件 - “交易”,“点击”,停留,投注等行为......

请查看我在Betting中写的名为updateWager()的函数。我创建了它并在GameUI.wagerEvents()中调用它。我无法得到this.playerWager的值,而不是它的初始值为零。我知道没有错:

        this.playerWager += parseInt(value, 10);

因为它在我以前的代码版本中有效,并且我已经让它在这段代码中工作,但只是在变量赋值上使用全局范围,显然我不希望这样。我可以得到任何帮助来解决这个问题会很棒。

谢谢!

http://jsbin.com/nokim/1/edit

1 个答案:

答案 0 :(得分:0)

@Aravind,你是对的,除了gameUI Betting引用需要调整语法。

function GameUI(){
    //var betObj = new Betting();
    this.betObj = new Betting(); // it should be this instead
    this.registerDomElements();
    this.registerWagerEvents();
    this.registerDealButtonEvent();
    this.registerHitButtonEvent();
    this.registerStayButtonEvent();
    betObj.renderStartingTotalCash();
}