Может кто-нибудь объяснить мне использование Me.prototype.constructor = Me;
и почему это необходимо, когда этот код работает и без него?
В объекте прототипа кода создается объект Me, и он создается и заменяется старым прототипом объекта. Почему мне нужно указывать на конструктор Me в заданном выше коде?
function Me(){
this.name = 'Dejan';
}
function You(){
this.name = 'Ivan';
}
Me.prototype = new You();
somebody = new Me();
Me.prototype.constructor = Me; // Why?
Me.prototype.foo = function(){
alert('Proto Me!'); // It always fire up this alert, ether constructor is pointing to Me or not... !
}
You.prototype.foo = function(){
alert('Proto You!');
}
somebody.foo();
alert(somebody.name); // Alert 'Dejan'