编写一些代码,当创建一个类的实例时,我有一个整数变量会发生一些奇怪的事情:
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);
}
简洁明了的代码;在创建变量实例后的每一秒,它应该将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)。
为什么会这样,有没有我没有看到的解决方案?