我正在尝试真正了解原型在 js 中的工作原理。我目前正在进行一个基于循环的小游戏项目。
我想要一个 Game 对象实例,一旦实例化,它就会自行启动,调用它定义的循环方法。
我想要得到的是这样的:
function Game() {};
Game.prototype = {
start: (function() {
this.loop(); // this is where i have a problem
})()
loop: function() {
// do stuff
}
}
现在,很明显,这不起作用,因为我在 start 周围使用了一个自执行函数来让它自动启动,所以 'this' 关键字代表窗口对象,而不是游戏对象。
有没有办法做到这一点,这样我就不必在实例化一个新的 Game 对象后手动调用 start 方法?
谢谢