拡張とはどういう意味ですか?
- オブジェクトをマージしますか?
- カスタムの「メソッド」をに追加し
SomeModel
ますか?
SomeModel
とのメソッドとプロパティの両方を持つ新しいオブジェクトを作成しますSomeObject
か?
JSFiddle
var SomeObject = function() {};
SomeObject.CLASS_ATTRIBUTE = 'something';
SomeObject.prototype.aFunction = function() { return Math.E; };
SomeObject.prototype.attrB = 'wat';
var SomeModel = Backbone.Model.extend({});
// Merging instances of objects
var newSomeObject = new SomeObject(),
newSomeModel = new SomeModel(),
mergedObjects = $.extend(true, newSomeModel, newSomeModel);
console.log(mergedObjects);
// Prototyping
var mergedProto = $.extend(true, SomeModel.prototype, SomeObject.prototype);
console.log(mergedProto);
//factory
var myMergefactory = function() {
var ret = $.extend(true, SomeModel.prototype, SomeObject.prototype);
return ret;
}
注意として、これも有効です...
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()});