W aplikacji internetowej opartej na jQuery mam różne skrypty, w których można umieścić wiele plików i używam tylko jednego z nich na raz (wiem, że nie wszystkie z nich byłyby lepsze, ale ja jestem odpowiedzialny za WS, więc to nie moja decyzja). Więc jestem owijanie każdego pliku w initModule()
funkcji, która rejestruje różne zdarzenia i wykonuje pewne inicjalizacji itdFunkcje prywatne w JavaScript
Teraz jestem ciekaw, czy są jakieś różnice pomiędzy dwa sposoby definiowania funkcji nie zaśmiecania globalnej przestrzeni nazw:
function initStuff(someArg) {
var someVar = 123;
var anotherVar = 456;
var somePrivateFunc = function() {
/* ... */
}
var anotherPrivateFunc = function() {
/* ... */
}
/* do some stuff here */
}
i
function initStuff(someArg) {
var someVar = 123;
var anotherVar = 456;
function somePrivateFunc() {
/* ... */
}
function anotherPrivateFunc() {
/* ... */
}
/* do some stuff here */
}
Spójrz na [to pytanie] (http://stackoverflow.com/questions/1013385/what-is-the-difference-between-a-function-expression-vs-declaration-in-javascript). – jwueller