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

Запилил метод .instsanceOf
a.instanceOf( B );
(думаю, можно не описывать, что он делает).

Сделал небольшую замену для MyClass.prototype.method.apply( this, arguments );

Она не так хорошо выглядит, как у devote (я так понимаю, ты как-то декорировал методы?), зато реализация выглядит сильно проще. Моего ума пока не хватило сделать нормальный, не зацикливающийся parent (this.parent.method()).

A = Class({
   method: function() {}
});

B = Class({
  method: function() {
    B.parent.method( this );
  }
});


Чтобы вызвать метод родительского класса пишем имя текущего класса (указывать в методах название родительского класса — совсем некрасиво, но своего — уже лучше), свойство parent, имя метода, аргументы:
1. this - обязательно
2. arguments или любые аргументы
Можно написать так:
B.parent.method( this, arguments );

а можно и так:
B.parent.method( this, 1, 2, 3, 4, 5 );
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием