Javascript函数作为类参数

Javascript function as class parameter?

本文关键字:参数 函数 Javascript      更新时间:2023-09-26

我希望我的一个类的参数是一个函数,该函数将特定于该类的实例。在这种情况下,我有一个精灵类,我希望为这个类的不同实例调用不同的"oncollision"函数。以下是我编写的代码。

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();
}

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

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

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