Maison > interface Web > js tutoriel > Portée des fonctions imbriquées en JavaScript : guide du débutant

Portée des fonctions imbriquées en JavaScript : guide du débutant

Susan Sarandon
Libérer: 2025-01-13 12:38:42
original
354 Les gens l'ont consulté

Nested Function Scope in JavaScript: A Beginner

JavaScript est un langage qui surprend et étonne par sa polyvalence et ses caractéristiques. L'une de ces parties concerne la façon dont les fonctions imbriquées gèrent la portée des variables. Que vous débutiez avec JavaScript ou que vous cherchiez à améliorer vos compétences en codage, il est important de comprendre ce concept pour le maîtriser.

Dans ce blog, nous examinerons ce que sont les fonctions imbriquées, comment fonctionne leur portée et pourquoi cette connaissance est importante. À la fin, vous comprendrez comment les fonctions imbriquées interagissent avec les variables et le pouvoir des fermetures.

⁉️ Que sont les fonctions imbriquées ?

Une fonction imbriquée est simplement une fonction définie dans une autre fonction. En JavaScript, ces fonctions internes peuvent accéder aux variables dans leur portée externe (englobante). Ce comportement est connu sous le nom de portée lexicale ou, plus souvent, de fermeture.

? Comment les fonctions imbriquées gèrent la portée

Le comportement des fonctions imbriquées est guidé par un concept connu sous le nom de portée lexicale, ce qui signifie que la portée des variables est définie par leur emplacement dans le code source.
Voici les règles principales à retenir concernant la portée des fonctions imbriquées :
1️⃣ Les fonctions internes peuvent accéder aux variables des fonctions externes :
Les fonctions internes ont un accès complet aux variables déclarées dans leur fonction externe.
? Exemple :

function outerFunction(){
    const outerVar = "I am from Outer Function!";
    function innerFunction(){
        console.log(outerVar); // Accessing `outerVar` from outer scope
    }
    innerFunction();
}
outerFunction(); // Output: I am from Outer Function! 
Copier après la connexion

2️⃣ Les fonctions externes ne peuvent pas accéder aux variables des fonctions internes :
Les variables déclarées dans une fonction interne lui sont locales et ne sont pas visibles par la fonction externe.
? Exemple :

function outerFunction(){
    function innerFunction(){
        const innerVar = "I am from Inner Function";
    }
    console.log(innerVar); // Error: Uncaught ReferenceError: innerVar is not defined
    innerFunction();
}
outerFunction();
Copier après la connexion

3️⃣ Les fonctions imbriquées ont accès à leur portée externe même après le retour de la fonction externe
C’est là que les fermetures entrent en jeu ! Les fermetures permettent à la fonction interne de "se souvenir" des variables de sa portée englobante, même si la fonction externe n'est plus en exécution.
? Exemple :

function outerFunction() {
    let count = 0;

    return function innerFunction() {
      count++;
      console.log("count = " + count); 
    };
}

const counter = outerFunction();
for(let i=1; i <= 5; i++){
    counter()
}
/* Output:
count = 1
count = 2
count = 3
count = 4
count = 5 */
Copier après la connexion

La fonction interne stocke la variable de comptage, lui permettant d'augmenter le nombre lors d'appels répétés.

? Pourquoi est-il important de comprendre la portée des fonctions imbriquées ?

La maîtrise de la portée des fonctions imbriquées débloque de puissants modèles de codage et vous aide à :

  • Encapsulation : Gardez certaines données secrètes et disponibles uniquement via des fonctions spécifiques.
  • Function Factories : Générez des fonctions dynamiques et réutilisables avec un comportement prédéfini.
  • Code efficace : Réduit les répétitions en partageant des variables entre les fonctions.

? Un aperçu des fermetures

Les fermetures sont un concept avancé étroitement lié aux fonctions imbriquées. Lorsqu'une fonction interne se souvient et accède aux variables depuis sa portée externe après l'exécution de la fonction externe, elle crée une fermeture.
Pour l'instant, n'oubliez pas :

Les fermetures permettent aux fonctions imbriquées de « garder » vivantes les variables de leur portée externe.

Dans le prochain blog, nous approfondirons les fermetures, en examinant leurs utilisations pratiques et comment elles font de JavaScript un langage si puissant.

? Conclusion

Comprendre la portée des fonctions imbriquées est une étape importante de votre parcours JavaScript. Il crée une base pour comprendre les fermetures, la confidentialité des données et les modèles de programmation avancés. Les fonctions imbriquées mettent en évidence la puissance de la portée lexicale de JavaScript et sa capacité à générer du code efficace, flexible et réutilisable.
Êtes-vous prêt à explorer les fermetures ? Restez à l'écoute pour le prochain blog de la série ! ?
Bon codage ! ✨

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!

source:dev.to
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal