如何使用 jQuery 创建一个像 Backbone 一样工作的扩展方法?
How do I make an extend method that works like Backbone's, using jQuery?
我想使用 jQuery 的扩展方法来创建执行此操作的方法:
var a = foo.extend({bar:'a'});
var b = new a({});
// b instanceof a => true
换句话说,我想extend
创建一个class。
我该怎么做?
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({});
我想使用 jQuery 的扩展方法来创建执行此操作的方法:
var a = foo.extend({bar:'a'});
var b = new a({});
// b instanceof a => true
换句话说,我想extend
创建一个class。
我该怎么做?
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({});