什么是克隆和扩展骨干事件对象之间的区别?

时间:2014-03-04 14:17:36

标签: javascript jquery backbone.js

在我最近关注的教程之后,我一直在我的小骨干应用程序中使用以下内容进行自定义事件..

window.vent = _.extend({}, Backbone.Events);

在主干文档http://backbonejs.org/#Events

中进行了镜像

然后文档继续说明,

  

例如,创建一个可以协调的便捷事件调度程序   应用程序不同区域之间的事件:var dispatcher =   _.clone(Backbone.Events)

这可能是一个新问题,但究竟什么是事件调度程序?,以及如何扩展或克隆事件对象不同?

编辑:我已经读过克隆只执行一个浅层复制,通过引用传递现有值,但说实话,我并不完全清楚这意味着什么。

1 个答案:

答案 0 :(得分:2)

克隆良好(http://underscorejs.org/#clone)会创建对象的浅表副本,但扩展(http://underscorejs.org/#extend)会获取第二个对象的所有属性,将它们放在第一个对象中,然后返回第一个对象。 / p>

换句话说,当你克隆时,你从1个对象开始并以2结束,当你扩展时,你开始并完成了2个对象(但是扩展对象除了拥有它们之外还将具有所有第二个对象的属性。在延期之前)。

事件调度程序允许使用pub子模式(http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern):应用程序的某些位“宣布”事物,应用程序的其他位可以监听并响应它们。