原型仅适用于一个对象

时间:2015-01-28 19:52:26

标签: javascript prototype

我的代码中遇到了一点问题。

我有3个由'class'定义的对象,当我调用这个方法时,它只对第一个对象执行。

Box.prototype.hit = function() {

    if (controller.space) {
        // Si player détectée en diagonal
        if (this.id - 12 === player.id) {
            console.log(this);
            // Décalage en diagonale de la position de la box
            this.x += this.boxWidth;
            this.y += this.boxHeight;
            currentLevel[this.id] = 0;
            this.id += 12;
            currentLevel[this.id] = 2;
        }
        controller.space = false;
    }
}

在此代码中,第二个if正在测试定义的第一个对象的id,而其他对象未被发现。但是我有这样的原型正在工作。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

当我调用我在那里写的方法时,除了定义的FIRST对象之外,id测试不适用于该类拥有的所有对象。因此,当玩家处于良好位置时,console.log将返回第一个对象,但不会将第二个和第三个对象定义为类所拥有的。