В моих приложениях я стараюсь написать все функции для данного раздела приложения в закрытии, чтобы избежать проблем с пространством имен.
Примерно так:
(function($) {
function a() {
// stuff
}
function b() {
// stuff
}
// ...
$(function() {
// invoke dom ready setup methods here
});
})(jQuery);
Это дает бонус, позволяющий использовать мой код на других страницах, которые могут использовать прототип или другие библиотеки js (в большом веб-приложении со многими разработчиками, такими как тот, над которым я работаю, важно поддерживать чистоту пространства имен). *
У меня обычно только один ready
вызов на файл. Этот вызов отвечает за настройку всех связанных вещей в этом файле. Это позволяет каждому файлу сортировки действовать как «библиотека»: разработчики, которые хотят использовать функциональность, просто должны включить ее на страницу и добавить соответствующую разметку, и функциональность будет настроена самостоятельно.
Я признаю, что скопировал этот макет из того, как построено несколько плагинов jQuery.
Мне нравится предложение Cletus об одном файле, но только когда приложение не слишком большое. Его становится сложно поддерживать, если в одном файле слишком много вещей.