查看 Backbones 源代码,我注意到类的定义如下:
var Model = Backbone.Model = function(...
为什么 Model 定义了两次我问自己,对 Model 的搜索表明 Model 的原型随后被扩展如下:
_.extend(Model.prototype, Events, {
我做了一个小测试,似乎如果'Model.prototype'被扩展,更改会自动影响Backbone.Model,这背后的原因是什么,为什么不写成这样:
Backbone.Model = function(...
Backbone.Model.prototype.extend(...
希望这将使我对原型继承的理解更上一层楼