_.extend({}, Backbone.Events)
使用和_.clone(Backbone.Events)
用于事件聚合器有什么区别?我已经看到它们都用于此目的:
http://backbonejs.org/#Events http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/
_.extend({}, Backbone.Events)
使用和_.clone(Backbone.Events)
用于事件聚合器有什么区别?我已经看到它们都用于此目的:
http://backbonejs.org/#Events http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/
绝对没有区别。underscoreclone
方法的定义是:
_.clone = function(obj) {
if (!_.isObject(obj)) return obj;
return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
};
因此,如果 to 的参数_.clone
是一个对象,则克隆是通过以下方式完成的:
_.extend({}, obj);
_.extend({}, Backbone.Events)
当您还想在新对象上定义其他属性时,使用该语法是有意义的。因为extend
接受任意数量的参数,每个参数都将扩展到第一个参数,所以通常定义事件对象如下:
//define an evented object
var foo = _.extend({}, Backbone.Events, {
bar: function() { /*...*/ }
});