为什么Backbone和其他库使用_.extend,而不是类的原型?

时间:2014-08-21 04:57:23

标签: javascript backbone.js prototype

我在DOM prototype extension上读了一篇有趣的文章,显示了一些很好的理由不总是依赖于Element的原型 - 我不知道有哪些元素的子类,比如

HTMLParagraphElement.prototype< -   HTMLElement.prototype< -   Element.prototype< -   Node.prototype< -   Object.prototype中

一般来说,对象原型can be used for subclassing,但我常常看到_.extend用于创建mixins或基类,例如Backbone源代码中所见。

_.extend(Model.prototype, Events, {...stuff...}

为什么要使用它而不是像:

function innerModel() { ...stuff...}
innerModel.prototype = Events

Model.prototype = innerModel

在浏览器中缺少原型链可视化和调试的原因是_.extend经常用于子类而不是对象的原型吗?

0 个答案:

没有答案