Сообщение от Gvozd
|
половина исправлений была скорее на терминологию
|
Так в этом-то видно и дело. Но пока попытаюсь еще задать вопросы, пользуясь своей терминологией. Непонятки там, где стоят ?? :
//var constr = function() {} ; /* или так */ var constr = new Function() /* или так */ function constr() {}
var constr = new Function() // constr - есть объект(экземпляр) типа(класса) Function ( Function - это не родитель объекта constr , а его тип(класс) )
// - кроме создания объекта-конструктора constr еще выполяется следующее :
// - создаётся новый объект-прототип (ссылка на который заносится в constr.prototype) ;
// - значением свойства constructor этого объекта становится создавший его объект-конструктор (constr.prototype.constructor=constr);
// - значением свойства prototype объекта-конструктора становится вновь созданный объект - А что это за объект ??- непонятно.
var a=new constr() // a - есть объект(экземпляр) типа(класса) constr ( constr - это не родитель объекта a , а его тип(класс) )
document.write([
// Иерархия объектов пользователя (прикладных объектов)--------- :
a.constructor.prototype===a.__proto__,
a.constructor.prototype===constr.prototype,
a.__proto__===constr.prototype, // родитель объекта a (ссылка на родителя содержится в свойстве prototype конструктора объекта a)
//constr.prototype.constructor, // ==function anonymous() { } <- конструктор родителя
constr.prototype.constructor.prototype=='[object Object]' , constr.prototype.__proto__ =='[object Object]',
constr.prototype.constructor.prototype===constr.prototype.__proto__ , // FALSE ??
constr.prototype.constructor===constr, // TRUE (значением свойства constructor родителя будет создавший его объект-конструктор constr );
// К слову, также не понятно, почему :
a.__proto__.constructor===a, //FALSE , т.к. а - не есть объект-конструктор ??
constr.prototype.__proto__.__proto__===null, // TRUE - вершина
constr.prototype.__proto__===Object.prototype, // TRUE
])
Т.е. я пытался, но мне не удалось построить стройную и понятную, где был бы понятен каждый объект в цепи наследования, иерахию объектов от
a к родоначальнику
Object.prototype, у которого уже нет родителя.