【问题标题】:RPG Bank Change property with method带有方法的 RPG 银行更改属性
【发布时间】:2020-06-08 06:44:06
【问题描述】:

所以我想为我的游戏创建一个银行,银行正在合计价值但不改变财产。为什么是这样?它与范围有关吗?谢谢...

我使用了你的代码,我在 codepen 上,当我输入 console.log(player.credits) 时,即使我输入一个新数字,它也会保持 5000 个积分。

是的,我真的很喜欢你为我编写的代码,它可以工作,但是当我在 codepen 中将它登录到控制台时,它仍然没有改变信用...

<p id='move'></p>
<input type='number' id='money' min="1">
<button id='deposit' onclick='player.bank()'>Deposit</button>

let player = {
  credits: 5000,
  bankCredits: 100,
  bank() {
    let hope = this.credits || 0;
    let a = parseInt(document.getElementById('money').value) || 0;
    this.credits = hope + a;
    document.getElementById('move').innerHTML = 'You have deposited ' + a + ' and now have ' + this.credits;
  }
  };

console.log(player.credits) ```








【问题讨论】:

    标签: javascript object methods


    【解决方案1】:

    要访问对象函数中的当前对象属性,只需将player.credits 替换为this.credits

    另外,由于您主要使用数字,您可以使用&lt;input type="number" 而不是&lt;input type='text'

    let player = {
      credits: 5000,
      bankCredits: 100,
      bank() {
        let hope = this.credits || 0;
        let a = parseInt(document.getElementById('money').value) || 0;
        this.credits = hope + a;
        document.getElementById('move').innerHTML = 'You have deposited ' + a + ' and now have ' + this.credits;
      }
    }
    
    console.log(player.credits);
    <p id='move'></p>
    <input type='number' id='money' min="1">
    <button id='deposit' onclick='player.bank()'>Deposit</button>

    【讨论】:

    • 您好,谢谢您的回复,我也更改了 player.credits this.credits 但是当我将它登录到控制台时,它仍然显示 5000 积分。谁知道我哪里出错了...
    • “但是当我将它登录到控制台时它只是说 5000 积分仍然”您能否更新您的代码以显示此问题。
    • 我已经更新了上面的代码,在我的第一篇文章中,我使用了你更新的代码。我在 codepen 上,当我输入 console.log(player.credits) 时,即使我输入一个新数字,它也会保持 5000 个积分。
    • 我在您更新的代码中没有看到 console.log(player.credits)。有没有我为你添加的演示?
    • 感谢您的帮助,我已将 console.log 添加到银行
    猜你喜欢
    • 2012-09-10
    • 2016-01-26
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    相关资源
    最近更新 更多