jQuery не определяет примитивы ООП, так что вы сами по себе. Но легко сделать то, что вы хотите, с простым JavaScript:
MyClass = function(options){
// whatever were in your initialize() method
};
И вы можете создавать экземпляры, как вы привыкли:
var mc = new MyClass({});
Если у вас в прототипе было больше вещей, вы можете добавить их, как раньше:
MyClass.prototype = {
// no need for initialize here anymore
/*
initialize: function(options) {
},
*/
// the rest of your methods
method1: function() { /*...*/ },
method2: function() { /*...*/ }
}
В качестве альтернативы вы можете добавлять свои методы динамически:
$.extend(MyClass.prototype, {
method1: function() { /*...*/ },
method2: function() { /*...*/ }
});
И, наконец, вы можете предоставить своего собственного создателя класса:
var CreateClass = function(){
return function(){ this.initialize.apply(this, arguments); };
};
// the rest is a copy from your example
MyClass = CreateClass();
MyClass.prototype = {
initialize: function(options) {
}
}
var mc = new MyClass({});