Organize o protótipo javascript enquanto perserva a referência e a herança de objetos
Eu construí um grande aplicativo usando protótipo de JavaScript e herança. Mas estou tendo dificuldade em organizar meu código. Por exemplo, eu tenho um carrossel de classe que tem muitas funções como esta:
Carousel.prototype.next = function () {...}
Carousel.prototype.prev = function () {..}
Carousel.prototype.bindControls = function () {..}
Eu gostaria de organizar meu código assim:
Carousel.prototype.controls = {
next: function () { ... } ,
prev: function() { ... },
bindControls: function () { .. }
}
Mas isso fará com que o valor de "isso" seja perdido. Eu posso acompanhar isso usando uma instância global, mas isso causará problemas quando a classe é herdada, por exemplo, em outro arquivo eu tenho algo assim para substituir a classe pai
BigCarousel.prototype.next = function () {...}
Minha herança é feita assim:
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;
};
Então eu posso fazer:
BigCarousel.inheritsFrom(Carousel)
Alguém sabe como posso trabalhar em torno do valor "this"?