Maison >interface Web >js tutoriel >Explication détaillée de l'utilisation de js Closure_Basic Knowledge
Jetons un coup d’œil aux utilisations des fermetures. En fait, en utilisant des fermetures, nous pouvons faire beaucoup de choses. Par exemple, il peut simuler le style de codage orienté objet ; exprimer le code de manière plus élégante et concise et améliorer l'efficacité d'exécution du code dans certains aspects ;
1 Fonction anonyme auto-exécutable
Nous connaissons toutes les variables. Si vous n'ajoutez pas le mot-clé var, elles seront ajoutées par défaut aux propriétés de l'objet global. Il y a de nombreux inconvénients à ajouter de telles variables temporaires à l'objet global,
.
Par exemple : d'autres fonctions peuvent abuser de ces variables, ce qui rend l'objet global trop grand et affecte la vitesse d'accès (car la valeur de la variable doit être traversée à partir de la chaîne de prototypes).
En plus d'utiliser le mot-clé var à chaque fois qu'une variable est utilisée, nous rencontrons souvent une telle situation dans des situations réelles, c'est-à-dire que certaines fonctions ne doivent être exécutées qu'une seule fois et leurs variables internes n'ont pas besoin d'être conservées
.
Par exemple, pour l'initialisation de l'interface utilisateur, nous pouvons utiliser des fermetures :
2 caches
Ensuite, nous devons stocker la valeur calculée. Lorsque vous appelez cette fonction, recherchez-la d'abord dans le cache. Si elle ne peut pas être trouvée, calculez-la,
. Mettez ensuite à jour le cache et renvoyez la valeur si elle est trouvée, renvoyez simplement la valeur trouvée directement. Les fermetures font exactement cela car elles ne libèrent pas de références externes,
Ainsi, la valeur à l'intérieur de la fonction peut être préservée.
Le code est le suivant :
Le code est le suivant :
Ce code montre que John et Jack peuvent être appelés instances de la classe Person, car les deux instances ont un accès indépendant au membre name et ne s'influencent pas mutuellement.
Ce qui précède est la fonction de fermeture js. C'est très simple et facile à comprendre. J'espère que cela sera utile à mes amis
.