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