benji_100 a écrit :
Autre question rapide : les fonctions ont elles accès aux variables globales en JS ? Autrement, est ce qu il faut déclarer ou passer en parametre toutes les variables dont on aura besoin dans le corps de la fonction?
|
Oui, une fonction a accès à toutes les données des scopes supérieures.
Ca permet d'ailleurs (avec quelques mécanismes supplémentaires, parce que simplement la gestion des scopes c'est grandement insuffisant) de générer ce qu'on appelle des closures:
function foo(a) {
function bar(b) {
return doSomething(a)+doSomethingElse(b);
}
return bar;
} |
Ici, le "bar" retourné va conserver le "a" présent dans "foo" lorsqu'elle a été créée.
Donc appeler foo(15) va générer la fonction
function bar(b){
return doSomething(15)+doSomethingElse(b);
} |
Même si il est faux et que les CSS sont à refaire (genre histoire d'arrêter de rendre les gens aveugles quand ils ouvrent la page )
Message édité par masklinn le 03-10-2005 à 16:21:44
---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody