Dans une application Web basée sur jQuery, j'ai plusieurs scripts où plusieurs fichiers peuvent être inclus et je n'utilise que l'un d'entre eux à la fois (je ne sais pas tous, mais je suis juste responsable de la JS, ce n'est pas ma décision. Donc, j'enroulant chaque fichier dans une fonction initModule()
qui enregistre divers événements et fait une initialisation, etc.Fonctions privées dans JavaScript
Maintenant, je suis curieux de savoir s'il y a des différences entre les deux façons de définir les fonctions qui encombrent l'espace de noms non global suivants:
function initStuff(someArg) {
var someVar = 123;
var anotherVar = 456;
var somePrivateFunc = function() {
/* ... */
}
var anotherPrivateFunc = function() {
/* ... */
}
/* do some stuff here */
}
et
function initStuff(someArg) {
var someVar = 123;
var anotherVar = 456;
function somePrivateFunc() {
/* ... */
}
function anotherPrivateFunc() {
/* ... */
}
/* do some stuff here */
}
Jetez un oeil à [cette question] (http://stackoverflow.com/questions/1013385/what-is-the-difference-between-a-function-expression-vs-declaration-in-javascript). – jwueller