В веб-приложении на основе jQuery у меня есть различные сценарии, в которые может быть включено несколько файлов, и я использую только один из них одновременно (я знаю, что не все из них были бы лучше, но я просто отвечаюдля JS, так что это не мое решение).Поэтому я обертываю каждый файл в функцию init<i>Module</i>()
, которая регистрирует различные события и выполняет некоторую инициализацию и т. Д.
Теперь мне любопытно, есть ли различия между следующими двумя способами определения функций, не загромождающихглобальное пространство имен:
function initStuff(someArg) {
var someVar = 123;
var anotherVar = 456;
var somePrivateFunc = function() {
/* ... */
}
var anotherPrivateFunc = function() {
/* ... */
}
/* do some stuff here */
}
и
function initStuff(someArg) {
var someVar = 123;
var anotherVar = 456;
function somePrivateFunc() {
/* ... */
}
function anotherPrivateFunc() {
/* ... */
}
/* do some stuff here */
}