Сообщение от FINoM
|
Но, я всегда думал, что, если метод не найден в прототипе конструктора, он будет искать его дальше:
C.prototype.method > не найден
C.prototype.constructor.prototype.method > не найден
C.prototype.constructor.prototype.constructor.prot otype.method ... и так дальше, пока ...prototype.constructor !== ...prototype.constructor.prototype.constructor
|
Блин я тоже так думал, но после этого убедился что это не так
X = function() {}
Y = function() {}
X.prototype.method = function () { alert( 'ok' ) };
y = new Y;
Y.prototype = new X;
alert( y.method );//undefined
alert( y.constructor.prototype.method );//function () { alert( 'ok' ) }
становиться очевидно что при создании объекта что то летает по внутренностям добавляя свойства и методы только один раз что бы потом не искать прототипе
P.S. спасибо за тему - кое что из неё я усвоил