Показать сообщение отдельно
  #22 (permalink)  
Старый 13.06.2016, 13:05
Интересующийся
Отправить личное сообщение для pomidor_makaronus Посмотреть профиль Найти все сообщения от pomidor_makaronus
 
Регистрация: 19.04.2016
Сообщений: 18

Кажется понял ответ как всегда на следующей странице):
Хотя свойства и методы, добавленные в прототип, немедленно становятся доступны
во всех экземплярах объектов, при перезаписи всего прототипа наблюдается другое
поведение. Указатель [[ Prototype ]] задается при вызове конструктора, поэтому
изменение прототипа на другой объект нарушает связь между конструктором
и оригинальным прототипом. П омните, у экземпляра есть указатель только на
прототип, но не на конструктор. Рассмотрим следующий пример:

function Person ( ) {
}
var friend = new Person() ;
Person . p rototype = {
constructor : Person ,
name : "Nicholas" ,
age : 2 9 ,
job : " Software Engineer " ,
sayName : function(){
alert ( this.name ) ;
}
} ;
friend.sayName();// ошибка


После этого попробовал
var el = new Element();
			el = new Element();
			el.getTags("div");

Теперь понял эту тонкость. что кстати подтверждает 6-е сообщение. Спасибо!

Последний раз редактировалось pomidor_makaronus, 13.06.2016 в 13:07.
Ответить с цитированием