Javascript 从其他非主干对象扩展主干。模型/与其他非主干对象一起扩展主干
我试图实现的是使用Javascript 从其他非主干对象扩展主干。模型/与其他非主干对象一起扩展主干,javascript,inheritance,backbone.js,underscore.js,Javascript,Inheritance,Backbone.js,Underscore.js,我试图实现的是使用Backbone.Model中的方法扩展以前定义的类,或者以其他方式扩展,只要效果最好。基本上,我的代码如下所示: var SomeObject = function() {}; SomeObject.CLASS_ATTRIBUTE = 'something'; SomeObject.prototype.aFunction = function() { return Math.E; }; SomeObject.prototype.attrB = 'wat'; var Some
Backbone.Model
中的方法扩展以前定义的类,或者以其他方式扩展,只要效果最好。基本上,我的代码如下所示:
var SomeObject = function() {};
SomeObject.CLASS_ATTRIBUTE = 'something';
SomeObject.prototype.aFunction = function() { return Math.E; };
SomeObject.prototype.attrB = 'wat';
var SomeModel = Backbone.Model.extend({});
此时,我如何使用SomeObject
(或者反过来)扩展SomeModel
,以包含CLASS\u属性
,以及affunction
和attrB
作为一个模型属性,而不丢失主干.Model
功能
谢谢你的回答 如果
SomeObject
被定义为:
var SomeObject = {
CLASS_ATTRIBUTE: 'something',
aFunction: function () { return MATH.E; },
attrB: 'wat'
}
然后
你会按照你的要求去做吗你所说的扩展是什么意思
SomeModel
SomeModel
和SomeObject
方法和属性的新对象请注意,这也是有效的
var SomeModel = Backbone.Model.extend({});
SomeModel.CLASS_ATTRIBUTE = 'something';
SomeModel.prototype.aFunction = function() { return Math.E; };
SomeModel.prototype.attrB = 'wat';
或者这个
var SomeModel = Backbone.Model.extend({
initialize: function (params) {
$.extend(true, this, params.obj);
}
});
var mObj = new SomeModel({obj: new SomeObject()});
var SomeModel = Backbone.Model.extend({});
SomeModel.CLASS_ATTRIBUTE = 'something';
SomeModel.prototype.aFunction = function() { return Math.E; };
SomeModel.prototype.attrB = 'wat';
var SomeModel = Backbone.Model.extend({
initialize: function (params) {
$.extend(true, this, params.obj);
}
});
var mObj = new SomeModel({obj: new SomeObject()});