Notes sur Javascript
On part d'un bout de code simple : la function 'get_names()' qui utilise une variable globale 'names'
var names = ['', '', ''];
function get_name() {
... x = names...
return x;
}
Comme javascript n'a qu'un seul espace de noms, il est possible qu'un autre bout de code js (librairie...) redéfinisse 'names' et mon code ne marchera plus.
La première solution est d'écrire :
function get_name() {
var names = ['', '', ''];
... x = names...
return x;
}
Bien que fontionnel, cela a l'incovénient de reinitialiser la variable 'names' à chaque appel. Cela peut être pénalisant en terme de performances.
L'idéal serait de pouvori écrire :
class MyClass()
private names;
function get_name()
... x = names...
return x;
Mais ce n'est pas possible en javascript.
Il y a plusieurs méthodes pour répondre à cela :
la version avec 'Prototype' (RECOMMANDEE) [NotesJavascriptPrototype]
la version de Douglas Crockford (avec les closures)[NotesJavascriptDouglas]
A voir car certains points de syntaxes sont utilisés dans certains projets.
Ensuite, il y a des "bonnes pratiques" : [BonnesPratiquesJavascript]
Wiki: Home
Wiki: NotesJavascriptDouglas
Wiki: NotesJavascriptPrototype