Показать сообщение отдельно
  #3 (permalink)  
Старый 10.01.2013, 15:40
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Спасибо за ответ.
Если быть более точным, то записи могут быть разные, например как здесь
developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/slice
Выражение навроде, {}.prototype, я написал обобщенно, т.е. это может быть к примеру Function.prototype.call
хотя вопрос возник после попытки создать прототип таким способом
function root(){}
root.prototype = { root :"свойство root" }
function user() {}
user = {}.prototype = root;
var u = new user();


При явном создании функций-конструкторов роль prototype мне кажется понятно, т.е. prototype является ссылкой на свойства родителя. А роль при использовании глобальных, и/или предопределенных объектов в мне не понятна

Учитывая, что консоль вернула мне

{}.prototype — SyntaxError
Object.prototype — Object {}
[].prototype — undefined
Array.prototype — []

я так понял в моем коде {}.prototype роли как таковой не играет, т.е. я присвоил root сразу и user и {}.prototype, но учитывая, что {}.prototype синтаксическая ошибка, то вызвать я его не могу. С другой стороны не ясно, почему сама запись «user = {}.prototype = root», ошибки не вызвала?

Буду признателен за пояснение, или более развернутую информацию, где описывается использование подобных синтаксисов
Ответить с цитированием