0

以下の 2 つのメソッドは、 backbone.jsの最上位のスコープにあります。ただし、Backbone.Events でのみ使用されます。

他のメソッドのように Backbone.Events に渡されるオブジェクト リテラルのプロパティとして含まれていないのはなぜですか?

これは、それらを非公開にし、ユーザー API から除外するためでしたか?

// only used in Backbone.Events
eventsApi = function(obj, action, name, rest) {
    // internals
};
// only used in Backbone.Events
triggerEvents = function(events, args) {
    // internals
};
4

1 に答える 1

2

これは、それらをプライベートにしてユーザーAPIから除外するためでしたか?

はいと思います。その明らかなモジュールパターン。

var myModule = (function() {
  var privateFn = function() { ... };

  return {
    publicFn: function() {
      return privateFn();
    }
  };
}());

または、バックボーンを介して用語を使用します。

(function(){

  // other backbone code

  var eventsApi = function() { ... };
  var Events = Backbone.Events = {
    on: function() {
      // code...
      var whatever = eventsApi(some, args);
      // code...
    }
  };

  // other backbone code

}());

これは、関数が公開されていなくても、Events.Backbone.on関数を呼び出すことができる関数です。eventsApieventsApi

于 2013-02-04T00:24:43.853 に答える