2014-03-04 58 views
1

教程我最近跟在後面,我一直在使用在我很小的骨幹應用自定義事件下面..克隆和擴展骨幹事件對象有什麼區別?

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

其骨幹文檔中反映,http://backbonejs.org/#Events

文檔然後繼續狀態,

例如,使一個方便的事件調度,可以配合你的應用程序的不同領域之間 事件:VAR調度= _.clone(Backbone.Events)

這可能是一個新問題,但究竟是什麼事件調度?以及如何擴展或克隆事件對象不同?

編輯:我讀過克隆只執行淺拷貝通過引用傳遞現有值,但說實話我並不完全清楚這意味着什麼。

回答

2

好的克隆(http://underscorejs.org/#clone)創建對象的淺拷貝,但擴展(http://underscorejs.org/#extend)從第二個對象獲取所有屬性,將它們放在第一個對象中,並返回第一個對象。

換句話說,當你克隆你從1個對象開始,2完成,當你擴展你開始和完成2個對象(但擴展對象將除了它的所有第二個對象的屬性它在擴展之前)。

一個事件調度程序允許一個酒吧子模式(http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern):應用程序的某些位「宣佈」事情,應用程序的其他位可以監聽並響應它們。

+1

好吧很酷,所以在創建「事件調度程序」方面,上述兩種方法之間是否存在實際區別?有沒有人有理由在特定情況下使用一種方法? – pushplaybang

+0

通常你會擴展「類」,但克隆實例。 –

+0

很酷,這有幫助,但在我應該在這裏做的問題的背景下,它的應用有什麼實際的區別? – pushplaybang

相關問題