ОК, скажем, у меня есть конструктор, как этот:Конструктор наследуют от Конструктора
var Base = function() {};
Base.prototype.shmoo = function() { this.foo="shmoo"; }
Как создать другие конструкторы расширения Base
независимо от него и отдельно друг от друга, а?
Другими словами, расширение функциональных возможностей производного конструктора затрагивает только его объекты и ни один другой, ни Base
, ни другой полученный.
Я попытался
Extender = function() {};
Extender.prototype = Base.prototype;
Extender.prototype.moo = function() { this.moo="boo"; };
но вступает в силу во всем мире, конечно.
Должен ли я имитировать иерархию классов? Я стараюсь держаться подальше от этой картины.
точно такая же проблема, как и в [Почему я не могу вызвать метод в прототип JavaScript?] (Http://stackoverflow.com/questions/12500637/why-cant-i-call-a-prototyped-method-in-javascript) – Bergi