我真的不明白它们是如何有用的.在介绍初始化程序的原始文章中,这是代码示例:
App = new Backbone.Marionette.Application();
App.addInitializer(function(){
// add some app initialization code, here
});
App.addInitializer(function(){
// more initialization stuff
// for a different part of the app
});
// run all the initializers and start the app
App.start();
Run Code Online (Sandbox Code Playgroud)
但是,据我所知,^之间没有区别,而且:
App = new Backbone.Marionette.Application();
// add some app initialization code, here
// more initialization stuff
// for a different part of the app
Run Code Online (Sandbox Code Playgroud)
后一代码的好处是你可以实际控制初始化代码的顺序,而初始化程序是以随机顺序运行的.那么,有什么优势addInitializer呢?
我认为主要的优点是语义 - 这是一个非常具有描述性的方法名称 - 以及相关功能的分组。我使用命名函数编写初始化程序,这有助于调试和描述性:
App.addInitializer(function startSomePartOfTheApp () {
});
Run Code Online (Sandbox Code Playgroud)
另一个有用的功能是该函数绑定到应用程序实例。这使您可以选择混合初始值设定项,这在大型应用程序中非常有用。
但最终,您可以按照您建议的方式实现相同的功能。
| 归档时间: |
|
| 查看次数: |
343 次 |
| 最近记录: |