Maison >interface Web >js tutoriel >Fermetures JavaScript

Fermetures JavaScript

Barbara Streisand
Barbara Streisandoriginal
2025-01-29 22:37:10157parcourir

JavaScript Closures

La fermeture JavaScript est un concept puissant et important en JavaScript. Il fait référence à une fonction, même après l'exécution de sa fonction externe (fermée), il peut toujours accéder aux variables des fonctions externes. La fermeture est un composant clé de la portée JavaScript et de la programmation fonctionnelle.

Le principe de travail de la fermeture

Lorsqu'une fonction est définie dans une autre fonction, la fonction interne peut accéder aux variables et aux paramètres de la fonction externe. Même après l'exécution de la fonction externe, la fonction interne conserve toujours les autorisations d'accès de ces variables. Ce comportement est appelé fermeture.

Exemple de fermeture

<code class="language-javascript">function 外部函数() {
    let 外部变量 = '我来自外部作用域';

    function 内部函数() {
        console.log(外部变量); // 内部函数可以访问外部变量
    }

    return 内部函数;
}

const 闭包示例 = 外部函数();
闭包示例(); // 输出: "我来自外部作用域"</code>
Dans cet exemple:

est une fermeture, car elle conserve toujours l'accès de

même une fois l'exécution 内部函数 terminée. 外部函数 外部变量 L'application réelle de la fermeture

Confidentialité des données
    : La fermeture peut être utilisée pour créer des variables privées, et ces variables ne peuvent être accessibles que par des fonctions spécifiques.
La fonction de rappel
<code class="language-javascript">function 创建计数器() {
    let 计数 = 0;
    return function() {
        计数++;
        return 计数;
    };
}

const 计数器 = 创建计数器();
console.log(计数器()); // 输出: 1
console.log(计数器()); // 输出: 2
console.log(计数器()); // 输出: 3</code>
: fermé est largement utilisé pour la programmation asynchrone, telle que le programme de traitement d'événements ou les appels AJAX.
  1. Corrihua
: fermé pour la fonction corrihua, l'une des fonctions renvoie une autre fonction avec certains paramètres.
<code class="language-javascript">setTimeout(function() {
    console.log('这是一个使用闭包的回调函数');
}, 1000);</code>
  1. les avantages de la fermeture
Le contrôle du domaine de contrôle
<code class="language-javascript">function 乘法(a) {
    return function(b) {
        return a * b;
    };
}

const 乘以二 = 乘法(2);
console.log(乘以二(5)); // 输出: 10</code>
: La fermeture aide à contrôler la portée des variables pour les empêcher de polluer la portée globale.

Efficacité de la mémoire
    : La fermeture permet à la mémoire en conservant les autorisations d'accès de variables spécifiques pour utiliser efficacement la mémoire sans créer de variables globales.
  • les précautions pour la fermeture
  • fuite de mémoire : S'il n'est pas utilisé correctement, la fermeture peut provoquer une fuite de mémoire, car elles conservent la référence aux variables externes, ce qui peut empêcher le recyclage des ordures.
Offres de performance

: La fermeture de sur-utilisation peut entraîner des problèmes de performance en raison de la consommation accrue de la mémoire.

  • Exemples dans le monde réel: variables privées
  • Dans cet exemple:
  • Les variables sont privées et ne peuvent être accessibles ou modifiées que par le biais de la méthode fournie par la fermeture.

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!

Déclaration:
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