formations/javascript/base/modularisation-3.md

34 lines
838 B
Markdown
Raw Normal View History

2015-03-30 14:18:55 +02:00
# .cadoles-slide-title[Modularisation (3/6)]
**Variable global et S.E.A.F.**
> **S.E.A.F.:** _Self Executable Anonymous Function_
```js
(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'
```