javascript - While 循环使用类对象,之后重置

标签 javascript

由于 Js 引用对象,我有点困惑。

我有一个创建新播放器的 Js“类”。该类有一些不同的变量、字符串和数组等,以及一些用于检查与这些变量有关的某些事情的函数。

我正在做一个 while 循环(当一个玩家被宣布死亡时结束)并且在循环完成后,我想“重置”实例化的类以便我可以再次运行循环(嵌套的 while 循环)。

例如

function Player(name)
{
    this.name = name;
    this.hp = 100;

    this.isnotdead = function()
    {
        return hp > 0;
    }
}

var player1 = new Player('player1');
var player2 = new Player('player2');

while(war_is_happening)
{
  while(player1.isnotdead || player2.isnotdead)
  {
    fight(player1, player2); // one of the players is killed
  }

  declareWinner(); // one player is a winner, lets fight again

  resertPlayers() // I want to start the nearest while loop again, but with fresh variables for player 1 and player2
}

希望这是有道理的。

以前我使用过类似JSON.parse(JSON.stringify(player1)) 的东西来制作对象的副本,但现在我的对象(类)内部有方法,所以这不会'工作。

最佳答案

function resertPlayers() {
  player1 = new Player('player1');
  player2 = new Player('player2');
}

关于javascript - While 循环使用类对象,之后重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44287418/

相关文章:

javascript - 将 SetTimeout 与 Ajax 调用结合使用

javascript - 通过 AJAX onclick 传递数据

javascript - 用于时间跟踪的正则表达式验证

javascript - 使用 JavaScript 突出显示文本颜色

Javascript从表单输入计算输入数字

html - <script><!--//--></script> 是否具有现代用途?

javascript - 幻灯片放映 JavaScript 错误

javascript - 如何让我的 setTimeout 函数以相同的速度运行?

javascript - 使用 react-router 并通过 Passport.js 进行身份验证 - 可能吗?

php - mysql从javascript实时搜索加载内存