Здравствуйте!
В этом (
Объекты, прототипы и циклы) топике мне посоватовали использовать обертку Class для организации объектов.
Мне она понравилась. Очень удобно.
Есть одно НО:
Раньше я всегда в начале класса писал var self = this и внутри всех методов использовал self вместо this.
Например:
function A(o) {
    var self = this;
    var init = function() {
        self.setOptions(o);
    };
    this.setOptions = function(o) {
        self.options = o;
    };
    init();
}
var a = new A({test: "foo"});
var b = new A({test: "bar"});
console.log(a.options); // foo
console.log(b.options); // bar
Теперь я начал использовать обертку Class, которую мне посоветовали.
Возникла проблема, которую я затрудняюсь решить:
var A = new Class(function() {
    var self = this;
    this.__construct__ = function(o) {
        self.setOptions(o);
    };
    this.setOptions = function(o) {
        self.options = o;
    };
});
var a = new A({test: "foo"});
var b = new A({test: "bar"});
console.log(a.options); // bar  (должно быть "foo"!)
console.log(b.options); // bar
Скорее всего я делаю что-то неправильно. Использовать this внутри методов неудобно, т.к. активно используется jquery и различные callback's, внутри которых this меняет свое значение.
Может быть есть решение проблемы? Заранее благодарен