formations/javascript/base/modularisation-3.md

830 B

.cadoles-slide-title[Modularisation (3/8)]

Variable global et SEAF

SEAF: Self Executable Anonymous Function

(function(MyModule) {

  // Cette variable n'est pas visible en dehors du contexte de définition
  // du module
  var localVar = 'Hello World !';

  // Fonction privée, utilisable à l'intérieur du module
  function myPrivateFunc() {
    console.log('Fonction privée !')
  }

  // Fonction publique, utilisable via l'exposition publique de myModule
  MyModule.myPublicFunc = function() {
    console.log('Fonction publique !')
  };

  // Propriété publique
  MyModule.foo = 'bar';

// Dans un navigateur, 'this' pointe vers Window (le contexte général)
}(MyModule = this.MyModule || {}));

MyModule.myPublicFunc();    // -> 'Fonction publique !'
console.log(MyModule.foo);  // -> 'bar'