Показать сообщение отдельно
  #1 (permalink)  
Старый 21.01.2016, 21:15
Кандидат Javascript-наук
Отправить личное сообщение для zlodiak Посмотреть профиль Найти все сообщения от zlodiak
 
Регистрация: 24.02.2012
Сообщений: 104

проблема с наследованием
помогите пожалуйста разобраться с наследованием на следующем примере:

есть 2 конструктора: Game, Level. на их основе я создаю 2 объекта таким образом чтобы level наследовался от game:
var Game = function(parentGameElementTag) {
  this.parentGameElementTag = parentGameElementTag;
  this.gameElementId = 'game';
  this.levelObj = new Level();  

  this.init();
};

Game.prototype = {
  init: function() {  
    $('<div class="game" id="' + this.gameElementId + '"></div>').appendTo(this.parentGameElementTag);   
  }
 };
 
 var Level = function() { 
  var self = this;

  this.fieldElementId = 'field';  
  this.levelScreenDisplay('body');  
};

//Level.prototype = Game;
Level.prototype = Object.create(Game.prototype);

Level.prototype = {

  levelScreenDisplay: function(parentElementTag) {
    $('<div class="level_begin_label" id="levelBeginLabel">Уровень: ' + this.level + '</div>').appendTo(parentElementTag);   

    setTimeout(function() { 
      $('<div class="any_key_invitation" id="anyKeyInvitation">Нажмите любую клавишу для старта</div>').appendTo('#levelBeginLabel');

      document.onkeypress = function() {
        document.onkeypress = undefined;
        $('#levelBeginLabel').remove();
      };          
    }, 1000);
  }
};
 
var	app = new Game('body');


в результате на странице должен выводиться номер уровня. которого нет в level, но который есть в game. а благодаря наследованию он должен найтись. но не находится. в чём я ошибаюсь?
Ответить с цитированием