Mozilla.com

Table des matières
No headers
Table des matières
No headers

Fermeture</dt>
Une "fermeture" est une expression (typiquement une fonction) qui peut avoir des variables libres ainsi qu'un environnement (context) qui lie ces variables (qui "clôture" l'expression).</dd>

Les fermetures sont une des plus puissantes fontionnalités d'ECMAScript (JavaScript) mais elles ne peuvent être exploitées correctement sans les comprendre. Elles sont, cependant, relativement facile à créer, même accidentellement, et leur création a des conséquences potentiellement nocives, en particulier dans navigateurs relativement communs. Pour éviter de rencontrer accidentellement ces inconvénients et pour tirer profit des avantages qu'ils l'offrent, il est nécessaire de comprendre leur mécanisme. Ceci dépend fortement du rôle de la visibilité (la portée) des chaînes dans la résolution et donc sur la résolution des noms de propriété sur les objets.

L'explication simple d'une fermeture est que ECMAScript permet des fonctions internes (imbriquées) ; les définitions de fonction et les expressions de fonction qui sont à l'intérieur de la fonction présage d'autres fonctions. Et que ces fonctions interne sont autorisées à avoir accès à toutes les variables locales, paramètres et fonctions internes déclarées dans leur function(s) externe(s). Une fermeture est formée quand une de ces fonctions intérieures est faite à extérieur accessible de la fonction dans laquelle il a été contenu, de sorte qu'il puisse être exécuté après que la fonction externe soit retournée. À tel point qu'il a toujours accès aux variables locales, aux paramètres et aux déclarations intérieures de fonction de son fonction externe. Ces déclarations locales de variables, de paramètre et de fonction (au commencement) ont les valeurs qu'elles ont eu quand la fonction externe est retournée et peuvent interagir l'un sur l'autre avec par la fonction interne.

Malheureusement, la compréhension correcte des fermetures exige une compréhension du mécanisme qui se cache derrière tout ça, et de beaucoup de détails techniques. Tandis qu'une partie de l'ECMA 262 indiquait des algorithmes ont été balayés plus de dans la partie précédente de l'explication suivante, beaucoup ne peuvent pas être omis ou facilement simplifiés. Les individus au courant des résolution des propriétés d'un objet peuvent sauter la section suivante et ils peuvent s'arrêter de lire maintenant pour retourner à la pratique.

Page modifiée à 13:39, 25 Sep 2005 par BenoitL

Tags:

Fichiers (0)