0

我正在阅读BackboneJS View

   SearchView = Backbone.View.extend({
        initialize: function(){
            alert("Alerts suck.");
        }
    });

    // The initialize function is always called when instantiating a Backbone View.
    // Consider it the constructor of the class.
    var search_view = new SearchView();

视图对象中的每个函数都是在实例化时调用的,还是仅仅是初始化函数?

初始化是否更像是实例化视图成功的回调函数?它到底是什么意思?

我通过谷歌。但发现大多数结果都有我无法理解的流行语。有人可以直接说简单吗?假设我对 underscorejs 一无所知?

4

1 回答 1

1

只有initialize函数在实例化时被调用。您可以将其视为某种构造函数。

即使在文档中,初始化函数的标题也是constructor/initialize.

...如果视图定义了一个初始化函数,它将在第一次创建视图时调用。

如果在实例化时调用每个函数,那将毫无意义。想象一下,你的类的一个函数中有一些破坏性的逻辑(这很可能),你不希望立即调用该函数。

在实例化对象时要执行的任何其他函数都可以简单地从初始化函数中调用。

initialize: function(){
    // alert("Alerts are not too cool (no offence).");
    console.log( "Consoles are cool" );
    another_init_func();
    more_init_stuff();
    be_awesome();
    ...
}
于 2013-10-31T12:17:06.883 回答