Сообщение от Gvozd
|
запомните очень важную вещь:
Прототип и свойство 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 .
Да, по поводу объяснения выше ,
Сообщение от Gvozd
|
// - значением свойства prototype объекта-конструктора становится вновь созданный объект - А что это за объект ??- непонятно.
до тех пор, пока вы не переопределите свойство prototype объекта-конструктора, это просто пустой объект типа constr (то есть его конуструктором считается функция constr), с пустым набором свойств
|
Видимо, все-таки - это пустой объект не типа constr, а типа Object .