Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée du fonctionnement des fermetures Javascript

零到壹度
Libérer: 2018-04-08 16:05:04
original
1240 Les gens l'ont consulté

La soi-disant fermeture est une expression (généralement une fonction) qui a de nombreuses variables et un environnement lié à ces variables, donc ces variables font également partie de l'expression.

Ma compréhension ici est la suivante : en fait, toutes les méthodes de fonction dans js peuvent en fait être considérées comme des fermetures. En termes simples, elles peuvent également être comprises comme des fonctions imbriquées. méthode :

Par exemple, l'exemple de code suivant :

function run(){
   var a=10;
    return function(){
	a++;
	console.log(a);
    }
}
var foo=run();
foo();//11
foo();//12 
foo();//13
Copier après la connexion

Analyse : La valeur de foo à ce moment est égal à La valeur de retour de la fonction run(), la fonction foo est une fermeture ;

1) Le processus d'exécution consiste à appeler d'abord la méthode foo() La méthode foo() trouvera la fonction de retour. dans la méthode run(). , cette méthode de fonction de retour pointera vers la variable a dans la méthode run(), puis lorsque foo() sera exécutée, 11 sera affiché

2 ; ) Dans l'exemple ci-dessus, en raison de l'existence de la fermeture, cela fait que a dans run() existe toujours après le retour de la fonction run, de sorte qu'à chaque fois que foo() est exécuté, a sera la valeur de a qui est ajoutée au console après avoir ajouté 1.

Recommandations associées :

Qu'est-ce qu'une fermeture exactement

L'explication la plus détaillée des fermetures

Compréhension approfondie des fermetures js

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal