Организация javascript-прототипа при сохранении ссылки на объект и наследования

Я создал большое приложение, используя прототип JavaScript и наследование. Но мне трудно организовать свой код. Например, у меня есть классная карусель, которая имеет много функций, подобных этой:

Carousel.prototype.next = function () {...}
Carousel.prototype.prev = function () {..}
Carousel.prototype.bindControls = function () {..}

Я хотел бы организовать свой код следующим образом:

Carousel.prototype.controls = {
   next: function () { ... } , 
   prev: function() { ... },
   bindControls: function () { .. }
}

Но это приведет к значениюэтот" быть потерянным Я могу отслеживать это, используя глобальный экземпляр, но это вызовет проблемы, когда класс наследуется, например. В другом файле у меня есть что-то вроде этого, чтобы переопределить родительский класс

BigCarousel.prototype.next = function () {...}

Мое наследование сделано так:

Function.prototype.inheritsFrom = function (parentClass) {
    if (parentClass.constructor === Function) {
        //Normal Inheritance
        this.prototype              = $.extend(this.prototype , new parentClass);
        this.prototype.constructor  = this;
        this.prototype.parent       = parentClass.prototype;
    }
    else {
        //Pure Virtual Inheritance
        this.prototype = $.extend(this.prototype, parentClass);
        this.prototype.constructor = this;
        this.prototype.parent = parentClass;
    }
    return this;
};

Так что я могу сделать:

BigCarousel.inheritsFrom(Carousel)

Кто-нибудь знает, как можно обойти "этот" значение ?

Ответы на вопрос(3)

Ваш ответ на вопрос