Показать сообщение отдельно
  #4 (permalink)  
Старый 02.09.2012, 04:33
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Dim@
имя_экзэмпляра.constructor.prtototype .method
С прокси это было бы очень просто.

В общем, проведя двое суток над этой задачей, так и не нашел решения. Придется использовать старый дедовский способ наследования, определенного после прототипа. За то можно наследовать сразу несколько конструкторов, так как это неотъемлемая особенность прототипного программирования.

Function.prototype.extendNotEnum( 'inherits', function( Parent ) {
	var prototype = this.prototype;
	this.prototype = Object.create( Parent.prototype );
	this.prototype.constructor = this;
	this.prototype.extend( prototype );
});
// методы extend и extendNotEnum — кастомные. Первый добавляет новые свойства в контекст, второй делает то же самое, но с enumerable: false


Child = function(){
  Parent.apply( this, arguments )
}
Child.prototype = {}
Child.inherits( Parent );
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием