formations/javascript/base/modularisation-3.md

34 lines
830 B
Markdown
Raw Normal View History

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