いくつかのコードを書き、クラスのインスタンスを作成するときに、私が持っている整数変数で奇妙なことが起こります:
function Mat(x, y, spawner) {
this.x = x;
this.y = y;
this.val = 1;
this._spawner = spawner;
this.newborn = true;
this.bornTime = 0;
this.spawnTimer = setInterval("this.bornTime++; console.log(this.bornTime);", 1000);
}
きれいにカットされた明確なコード。変数のインスタンスが作成された後、1 秒ごとに、bornTime変数を 1 ずつ増やしてログに記録する必要があります。
Mat.prototype.update = function() {
if (this.bornTime >= 5) {
this.bornTime = null;
clearInterval(this.spawnTimer);
this.newborn = false;
console.log("Grown!");
}
}
この追加コードにより、このインスタンスは 5 秒後に「成長」しますが、コンソールを確認すると、bornTimeが数値 (NaN) ではないことがわかります。
これはなぜですか?また、私が見ていない解決策はありますか?