Помогите разобраться в файле twitters widget.js, замыкании внутри замыкания?

http://a2.twimg.com/a/1302724321/javascripts/widgets/widget.js?1302801865

На высоком уровне это настроено так:

общедоступное пространство имен:

TWTR = window.TWTR || {};

Затем закрытие:

(function() {
...

})(); // #end application closure

В закрытом приложении:

TWTR.Widget = function(opts) {
    this.init(opts);
};
(function() {
    // Internal Namespace.
    var twttr = {};
})();

Некоторые методы помечены как открытые, другие закрытые, и единственная разница, кажется, заключается в соглашении об именах (закрытые начинается с подчеркивания '_' ).

Разработан ли он с использованием шаблона модуля?

Почему или какие преимущества вы получаете от замыкания внутри замыкания?

Поскольку они загружают widget.js перед jquery, это означает, что виджет предназначен для работы без jquery, поскольку порядок имеет значение?

Просто пытаюсь извлечь уроки из этого!

5
задан Matt Ball 18 April 2011 в 03:16
поделиться