Показать сообщение отдельно
  #29 (permalink)  
Старый 15.04.2013, 19:31
Новичок на форуме
Отправить личное сообщение для father_gorry Посмотреть профиль Найти все сообщения от father_gorry
 
Регистрация: 25.05.2012
Сообщений: 8

Сообщение от dmitriymar Посмотреть сообщение
Изменить прототип существующего объекта полностью ? Для этого он может и не быть промежуточным в длинной цепочке. достаточно у одного конструктора полностью сменить прототип .
А что мешает протестить самому? -это несколько строк кода всего
function A(){this.num =10};
function D(){this.num =20};
function B(){}
B.prototype = new A;
var c = new B;
alert(c.num)
B.prototype = new D;
alert(c.num)
В Вашем примере оба раза 10. Где ошибка?

И заодно, почему нельзя вместо
function A(){this.num =10};
function B(){}
B.prototype = new A;

писать
function B(){
  this.prototype = new function(){this.num =10}
};

?
Второй вариант ведь намного лаконичнее и проще бы воспринимался!
Ответить с цитированием