In un'applicazione Web basata su jQuery dispongo di vari script in cui è possibile includere più file e sto solo utilizzando uno di questi in una volta (non so che includere tutti loro sarebbe meglio, ma io sono solo responsabile per il JS, quindi non è una mia decisione). Così sto avvolgendo ogni file in una funzione initModule()
che registra vari eventi e fa un po 'di inizializzazione eccFunzioni private in JavaScript
Ora io sono curioso di sapere se ci sono delle differenze tra i due seguenti modi di definire funzioni non ingombrano lo spazio dei nomi globale:
function initStuff(someArg) {
var someVar = 123;
var anotherVar = 456;
var somePrivateFunc = function() {
/* ... */
}
var anotherPrivateFunc = function() {
/* ... */
}
/* do some stuff here */
}
e
function initStuff(someArg) {
var someVar = 123;
var anotherVar = 456;
function somePrivateFunc() {
/* ... */
}
function anotherPrivateFunc() {
/* ... */
}
/* do some stuff here */
}
Date un'occhiata a [questa domanda] (http://stackoverflow.com/questions/1013385/what-is-the-difference-between-a-function-expression-vs-declaration-in-javascript). – jwueller