Maison  >  Article  >  interface Web  >  Portée de la fonction JavaScript : comprendre la portée des variables

Portée de la fonction JavaScript : comprendre la portée des variables

WBOY
WBOYoriginal
2023-11-18 13:29:06571parcourir

Portée de la fonction JavaScript : comprendre la portée des variables

Portée de la fonction JavaScript : pour comprendre la portée des variables, des exemples de code spécifiques sont nécessaires

Introduction :
En JavaScript, la portée de la fonction fait référence à la portée visible de la variable dans la fonction. Comprendre la portée des fonctions est l'un des fondements de la maîtrise du langage JavaScript. Cet article commencera par les concepts et expliquera le concept et l'utilisation de la portée des fonctions à travers des exemples de code spécifiques.

1. Qu'est-ce que la portée de la fonction ?
La portée de la fonction fait référence à la plage visible de variables dans la fonction. En d’autres termes, la portée d’une variable est limitée à la fonction dans laquelle elle est déclarée. Les variables à l’intérieur d’une fonction ne sont pas accessibles depuis l’extérieur de la fonction.

2. Variables locales et variables globales
En JavaScript, les variables peuvent être des variables locales (déclarées à l'intérieur d'une fonction) ou des variables globales (déclarées en dehors d'une fonction).

  1. Variables locales :
    Les variables locales sont des variables déclarées à l'intérieur d'une fonction. Elles ne sont accessibles qu'à l'intérieur de la fonction et ne sont pas accessibles en dehors de la fonction. Par exemple :
function myFunction() {
  var localVar = "局部变量";
  console.log(localVar); //输出"局部变量"
}

myFunction();
console.log(localVar); //报错,无法访问局部变量

Dans l'exemple ci-dessus, localVar est une variable locale dont la portée est limitée à l'intérieur de la fonction myFunction. La variable localVar n'est pas accessible en dehors de la fonction. localVar是一个局部变量,作用范围仅限于myFunction函数内部。在函数外部无法访问localVar变量。

  1. 全局变量:
    全局变量是在函数外部声明的变量,函数内部和外部都可以访问。例如:
var globalVar = "全局变量";

function myFunction() {
  console.log(globalVar); //输出"全局变量"
}

myFunction();
console.log(globalVar); //输出"全局变量"

在上面的示例中,globalVar是一个全局变量,所以它可以在函数内部和外部被访问到。

三、函数作用域链

  1. 理解作用域链
    在JavaScript中,函数可以嵌套定义(即函数中可以再定义函数),这就形成了一个作用域链。作用域链的概念是指每个函数都可以访问自身的变量,以及外部函数和全局变量。例如:
function outerFunction() {
  var outerVar = "外部函数变量";

  function innerFunction() {
    var innerVar = "内部函数变量";
    console.log(innerVar); //输出"内部函数变量"
    console.log(outerVar); //输出"外部函数变量"
  }

  innerFunction();
}

outerFunction();

在上面的示例中,innerFunction函数位于outerFunction函数内部。innerFunction函数可以访问自身的变量innerVar,以及外部函数的变量outerVar

  1. 变量在作用域链中的查找过程
    当访问一个变量时, JavaScript会首先在当前函数内部查找该变量,如果找到了就停止查找。如果没有找到,将继续在外部函数中查找,直到全局作用域。

四、变量提升
在JavaScript中,变量声明会被提升到函数作用域的顶部。这意味着可以在变量声明之前使用变量。例如:

function myFunction() {
  console.log(myVar); //输出"undefined"
  var myVar = "被提升的变量";
  console.log(myVar); //输出"被提升的变量"
}

myFunction();

在上面的示例中,myVar

    Variables globales :

    Les variables globales sont des variables déclarées en dehors de la fonction et sont accessibles à la fois à l'intérieur et à l'extérieur de la fonction. Par exemple :

    rrreee🎜Dans l'exemple ci-dessus, globalVar est une variable globale, elle est donc accessible à la fois à l'intérieur et à l'extérieur de la fonction. 🎜🎜3. Chaîne de portée de fonction🎜🎜🎜Comprendre la chaîne de portée🎜En JavaScript, les fonctions peuvent être imbriquées dans la définition (c'est-à-dire que les fonctions peuvent être définies dans les fonctions), ce qui forme une chaîne de portée. Le concept de chaîne de portée signifie que chaque fonction peut accéder à ses propres variables, ainsi qu'à des fonctions externes et des variables globales. Par exemple : 🎜🎜rrreee🎜Dans l'exemple ci-dessus, la fonction innerFunction se trouve à l'intérieur de la fonction outerFunction. La fonction innerFunction peut accéder à sa propre variable innerVar, ainsi qu'à la variable outerVar de la fonction externe. 🎜
      🎜Le processus de recherche de variables dans la chaîne de portée🎜Lors de l'accès à une variable, JavaScript recherchera d'abord la variable à l'intérieur de la fonction actuelle et arrêtera la recherche si elle est trouvée. S'il n'est pas trouvé, la recherche se poursuivra dans les fonctions externes jusqu'à la portée globale. 🎜🎜🎜4. Promotion des variables🎜En JavaScript, les déclarations de variables seront promues en haut de la portée de la fonction. Cela signifie que les variables peuvent être utilisées avant d'être déclarées. Par exemple : 🎜rrreee🎜Dans l'exemple ci-dessus, la déclaration de la variable myVar est promue en haut de la portée de la fonction, elle peut donc être utilisée avant que la variable ne soit déclarée. 🎜🎜Conclusion : 🎜La portée de la fonction est l'un des concepts très importants en JavaScript. Comprendre la portée des fonctions peut nous aider à mieux contrôler la portée des variables et à éviter les conflits de noms et les accès incorrects aux variables. Cet article présente le concept et l'utilisation de la portée des fonctions à travers des exemples de code spécifiques, notamment des variables locales et globales, le chaînage de portées et la promotion de variables. J'espère que les lecteurs pourront approfondir leur compréhension de la portée des fonctions JavaScript et améliorer leurs compétences en 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!

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