如何使用jQuery创建一个像Backbone一样的扩展方法?

时间:2015-03-19 17:09:51

标签: javascript jquery backbone.js extends

我想使用jQuery的extend方法来创建一个执行此操作的方法:

var a = foo.extend({bar:'a'});
var b = new a({});
// b instanceof a => true

换句话说,我希望extend创建一个类。 我该怎么做?

1 个答案:

答案 0 :(得分:2)

var foo = {};
foo.ext = function () {
    var Extended = function () {
         // do something with arguments
    }
    var args = Array.prototype.slice.call(arguments);
    args.unshift(Extended.prototype);
    $.extend.apply($, args);
    return Extended;
};
var a = foo.ext({bar: 'a'}, {baz: 2}, ...);
var b = new a({});