Показать сообщение отдельно
  #20 (permalink)  
Старый 27.02.2013, 13:04
Аспирант
Отправить личное сообщение для Василий Б. Посмотреть профиль Найти все сообщения от Василий Б.
 
Регистрация: 01.03.2010
Сообщений: 44

danik.js,
да читал я материал, читал! Там написано следующее:
Цитата:
При создании объекта через new, в его прототип __proto__ записывается ссылка из prototype функции-конструктора.
и
Цитата:
Если один объект, например, rabbit, имеет специальную ссылку __proto__ на другой объект animal, то все свойства, которые ищутся в rabbit, будут затем искаться в animal.
Это понятно.
Свойства ищутся в прототипе объекта.

Правильно ли я понимаю, что только при использовании new в дочерний объект подтягиваются ВСЕ свойства объекта-прототипа?

Base = function(){};
Parent = function(){};
Parent.prototype = new Base();

var o = new Parent();

Base.func_as_prop = function(){};
Base.prototype.func_in_proto = function(){};

console.log(o.func_as_prop); // undefined - в объекте o нет свойства, т.к. оно не  было подтянуто конструктором
console.log(o.func_in_proto); // function

console.log(Base.func_as_prop); // function
console.log(Base.func_in_proto); // почему undefined? почему не ищет в своем прототипе?

Последний раз редактировалось Василий Б., 27.02.2013 в 13:11.
Ответить с цитированием