Что это за паттерны в этом примере Backbone TodoMVC?
Глядя вПример магистральных кодов todomvc, Структура в js / fold:
├── app.js
├── collections
│ └── todos.js
├── models
│ └── todo.js
├── routers
│ └── router.js
└── views
├── app-view.js
└── todo-view.js
app.js
var app = app || {};
$(function () {
'use strict';
// kick things off by creating the `App`
new app.AppView();
});
Коллекции / todos.js
var app = app || {};
(function () {
'use strict';
var Todos = Backbone.Collection.extend({
model: app.Todo,
app.todos = new Todos();
})();
Модели / todo.js
var app = app || {};
(function () {
'use strict';
app.Todo = Backbone.Model.extend({
});
})();
просмотры / приложение-view.js
var app = app || {};
(function ($) {
'use strict';
app.AppView = Backbone.View.extend({
})(jQuery);
У меня есть два вопроса:
Зачемvar app = app || {}
в каждом файле?
Каковы различия между$(function(){})
, (function(){})()
, а также(function($))(jQuery)
?