我试图查看docs,但找不到Backbone扩展的来源。阅读how underscore's extend works,似乎在您进行扩展时,将返回具有添加属性的目标对象 -
extend_.extend(destination,* sources)复制所有属性 源对象到目标对象,并返回 目标对象。它是有序的,所以最后一个来源会覆盖 以前参数中同名的属性。
_.extend({name:'moe'},{age:50}); => {姓名:'moe',年龄:50}
因此,如果Backbone在Model#extend的引擎盖下使用这种#extend方法,那么在下面,这是否意味着Backbone的Model对象获得了更多属性?
var Note = Backbone.Model.extend({
initialize: function() { ... },
author: function() { ... },
coordinates: function() { ... },
allowedToEdit: function(account) {
return true; }
});
如果在做笔记后,我会制作一本书 -
var Book = Backbone.Model.extend({
initialize: function() { ... },
coordinates: function() { ... },
allowedToEdit: function(account) {
return true; }
});
还是book还有一个作者属性,该属性是从Note的make中遗留下来的,因为该扩展将author属性添加到Backbone的Model对象中了吗?