Показать сообщение отдельно
  #9 (permalink)  
Старый 09.11.2013, 11:22
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Я написал одно, а код делает другое. Вот код, где прототипом является экземпляр другого "класса":

/**
 * @constructor
 */
function A() {
    this.foo = 'abc';
}
A.prototype.bar = function() {
 
};
 
/**
 * @constructor
 * @inherits A
 */
function B() {
}
 
// Прототипом для объектов B будет экземпляр A
B.prototype = new A;


Это часто используется, однако свойства, созданные в A, будут в прототипе B, а значит общими для всех экземпляров B. Плюс, вызов конструктора A не всегда требуется.

Вообще же, JS не дает возможности унаследовать свойства. Это можно сделать только через вызов родительского конструктора. А конструктор помимо установки свойств может делать нежелательные действия.
__________________
В личку только с интересными предложениями
Ответить с цитированием