Вызов метода из прототипа
Я пытаюсь понять, как работает прототип в 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;