La fonction de la fermeture JS est d'empêcher le mécanisme de récupération de place de Javascript de récupérer les ressources occupées par A après l'exécution et le retour de A, car l'exécution de la fonction interne de A B doit dépendre des variables de A. Si les fermetures ne sont pas utilisées, les variables dont dépend la fonction B pour son exécution provoqueront une pollution globale.
Essence de fermeture
Un ensemble S est un ensemble fermé si et seulement si Cl(S )= S (cl ici c'est fermeture, fermeture). En particulier, la fermeture de l’ensemble vide est l’ensemble vide, et la fermeture de X est X. La fermeture de l'intersection des ensembles est toujours un sous-ensemble (pas nécessairement un sous-ensemble propre) de l'intersection de la fermeture des ensembles. La fermeture de l'union d'un nombre fini d'ensembles est égale à l'union des fermetures de ces ensembles ; l'union des ensembles nuls est l'ensemble vide, donc cette proposition inclut le cas particulier précédent de la fermeture de l'ensemble vide. La fermeture de l'union d'ensembles infinis n'est pas nécessairement égale à l'union des fermetures de ces ensembles, mais la première doit être l'ensemble parent du second.
Si A est un sous-espace de X contenant S, alors la fermeture de S calculée en A est égale à la fermeture calculée de A et S en )) intersection. En particulier, S est dense dans A si et seulement si A est un sous-ensemble de Cl_X(S).
Exemple de fermeture
Simulation de variables privées :
function Counter(start){ var count = start; return{ increment:function(){ count++; }, get:function(){ return count; } } } var foo = Counter(4); foo.increment(); foo.get();// 5
Ici, la fonction Compteur renvoie deux fermetures, la fonction incrément et la fonction get. Les deux fonctions conservent une référence au compteur de portée externe, afin qu'elles puissent toujours accéder au nombre de variables défini dans cette portée.
Tutoriel recommandé : "JavaScript"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!