Javascript函数作为类参数?

时间:2013-01-04 15:10:14

标签: javascript class

我希望我的一个类的参数是一个特定于该类实例的函数。 在这种情况下,我有一个精灵类,我希望为这个类的不同实例调用不同的“onCollide”函数。这是我编码的内容。

function StaticSprite(tileset, x, y, onCollide) {
    this.tileset = tileset;
    this.x = x;
    this.y = y;
    this.onCollide = onCollide;
}

var introSign = new StaticSprite(mainTiles, 800, 600, showMessage('Hi.'));

if (isColliding(player, introSign)) {
    introSign.onCollide();
}

这段代码显然不起作用,但至少应该显示我想要实现的目标。 感谢。

1 个答案:

答案 0 :(得分:5)

你只需要传递一个函数,而不是执行一个函数并传递结果:

new StaticSprite(..., function () { showMessage('Hi.'); })