Цитата:
Вообще хотелось бы понять другое - про свойство prototype : отчего это свойство prototype недоступно для объекта, не являющегося конструктором ? |
Цитата:
Прототип и свойство prototype это разные вещи и понятия свойство prototype конструктора указывает какой прототип будет у объектов созданных при помощи этого конструктора прототип(доступный в мозилле в виде свойства объекта __proto__.в других браузерах прототип вообще напрямую недоступен) определяет откуда надо брать какое-то свойство, если в объекте оно не определено таким образом свойство prototype используется только объектами- конструкторами. у других объектов(не являющихся функциями) изначально нету свойства prototype.конечно его можно назначить, но смысла в этом будет не более, чем в назначении свойства с дюбым другим именем |
Цитата:
Т.е. , все встроенные объекты Object,Array,Function etc являются объектами-конструкторами и не являются предками (прототипами) объектов-НЕконструкторов, ( впрочем, видимо, если они не будут специально подставлены в свойство prototype конструкторов объектов-НЕконструкторов : var Constr=new Function(); Constr.prototype=Object ; var a=new Constr() ; alert(a.prototype!==undefined) // TRUE ) Интересно также всвязи со сказанным посмотреть иерархию объектов-конструкторов типа Array,Funciton, etc . Да, по поводу объяснения выше , Цитата:
|
Цитата:
по ходу да. какие-то еще вопосы? |
Цитата:
Самый простой - хотелось бы понять, как отличать объекты-конструкторы от объектов-НЕконструкторов ? - И как присваивать и смотреть аттрибуты ( ReadOnly etc ) свойств объектов ? - И почему в документации гворитсяЮ что свйоства prototype встроенных объектов нельзя переопределять , когда запросто проходит, например Object.prototype=Array; ? ЗЫ. Я так понимаю, что в предыдущем моем посте все сказано верно ? По поводу иерархии объектов-конструкторов еще сам додумаю. Тогда уж ,если, выскажусь. |
Цитата:
а может и в обычном режиме использована. в режиме конструктора, this указывает на создаваемый объект Цитата:
Цитата:
но башка сегодня уже не варит. PS у вас начинаются вопросы на совсем глубокое знание стандарта Ecma.а я его краем глаза проглядывал. в дальнейший путь я буду уже идти скорее вровень с вами, чем помогать вам. а учитывая, что JS не является моим основным профилем работы, мне пока не удастся уделить достаточно времени и желания изучению стандарта и помощи вам что смогу подскажу.но уже не так активно. короче, читайте стандарт языка, и пытайтесь понять сами.думаю дальше разбиратся на основе сухой документации у вас получится |
Отчего так для Opera и IE ?:
with (Function.prototype) alert([ // Следующие три свойства дают FALSE - в MS JS (IE) и Opera : hasOwnProperty("prototype"), // Function.prototype.prototype==null, в потомках объектах-конструкторах Constr это свойство переопределяется на своего спутника <c> hasOwnProperty("arguments"), // hasOwnProperty("caller"), // ]) Откуда же берутся ( или чьими собственными свойствами ) являются arguments,caller ? Про prototype то же, но оно у этого объекта как-то вообще непонятно - зачем . |
"вкурил" что называется тему. Потом решил почитать что про это пишется у Флэнагана. у Zeroglif'a (по той ссылке) получилось лучше, гораздо подробнее и легче для восприятия.
|
kefi,
а фиг его знает.тут уже мне самому непонятно. twolf, возможно. у каждого свой стиль мышления. мы тут писали не статью для всех, а в первую очередь конкретному человеку пытались помочь понять мне допустим хватило статьи Кантора для того чтобы понять. правда курил я ее дня два, но да это уже мои проблемы, а не статьи а кто-то Ecma прочтетт и сразу поймет |
Цитата:
|
Часовой пояс GMT +3, время: 18:14. |