Вызов метода из прототипа

Я пытаюсь понять, как работает прототип в js. В настоящее время я работаю над небольшим игровым проектом, основанным на цикле.

Я хотел бы иметь экземпляр объекта Game, который запустится сам после создания экземпляра, вызывая метод цикла, который он определяет.

Я пытаюсь получить что-то вроде этого:

function Game() {};
Game.prototype = {
    start: (function() {
        this.loop();    // this is where i have a problem
    })()

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

Теперь, очевидно, это не работает, так как я использую самозапускающуюся функцию для запуска, чтобы запустить ее автоматически, поэтому ключевое слово this представляет объект окна, а не объект Game.

Есть ли способ сделать это, чтобы мне не пришлось вручную вызывать метод start после создания нового объекта Game?

Спасибо

1 ответ

Решение
function Game() { this.loop(); };
Game.prototype={ 

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

new Game;
Другие вопросы по тегам