从原型自执行方法调用方法

时间:2013-01-02 13:04:59

标签: javascript prototype self-executing-function

我正在尝试真正了解原型如何在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方法?

由于

1 个答案:

答案 0 :(得分:0)

function Game() { this.loop(); };
Game.prototype={ 

    loop: function() {
        // do stuff
    }
}

new Game;