Показать сообщение отдельно
  #6 (permalink)  
Старый 01.01.2013, 16:19
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

метод call не делает наследования, он всего лишь добавляет те свойства которые были указаны в первой функции, но прототип не трогается, а при наследовании прототип должен быть тронут
function Game() {
		this.canvas = true;
	};
	
	Game.prototype = {
		canvas : null,
		play : function () {
			alert("play");
		}
	};
	
	function Player() {
		Game.call(this); 
		this.object = this.canvas;
	};
	
	Player.prototype = {
		object : null,
	};

	var player = new Player();
	alert(player.object);
	player.play();//метода нет, а при наследовании он должен быть => call не делает наследования
Ответить с цитированием