Maison >interface Web >js tutoriel >Une explication détaillée de la portée de JavaScript
Une portée est une collection de variables accessibles.
Portée JavaScript
En JavaScript, les objets et les fonctions sont également des variables.
En JavaScript, la portée est une collection de variables, d'objets et de fonctions accessibles.
Portée de la fonction JavaScript : La portée est modifiée au sein de la fonction.
Portée locale JavaScript
Les variables sont déclarées dans une fonction et ont une portée locale.
Variables locales : accessibles uniquement à l'intérieur de la fonction.
// 此处不能调用 carName 变量 function myFunction() { var carName = "Volvo"; // 函数内可调用 carName 变量 }
Étant donné que les variables locales n'agissent qu'au sein d'une fonction, différentes fonctions peuvent utiliser des variables portant le même nom.
Les variables locales sont créées lorsque la fonction commence à s'exécuter et seront automatiquement détruites après l'exécution de la fonction.
Variables globales JavaScript
Une variable définie en dehors d'une fonction est une variable globale.
Les variables globales ont une portée globale : tous les scripts et fonctions de la page Web peuvent être utilisés.
var carName = " Volvo"; // 此处可调用 carName 变量 function myFunction() { // 函数内可调用 carName 变量 }
Si une variable n'est pas déclarée dans une fonction (sans utiliser le mot-clé var), la variable est une variable globale.
Dans l'exemple suivant, carName est dans la fonction mais est une variable globale.
// 此处可调用 carName 变量 function myFunction() { carName = "Volvo"; // 此处可调用 carName 变量 }
Cycle de vie des variables JavaScript
Le cycle de vie des variables JavaScript est initialisé lorsqu'il est déclaré.
Les variables locales sont détruites après l'exécution de la fonction.
Les variables globales sont détruites après la fermeture de la page.
Paramètres de fonction
Les paramètres de fonction ne fonctionnent qu'au sein de la fonction et sont des variables locales.
Variables globales en HTML
En HTML, les variables globales sont des objets fenêtre : toutes les variables de données appartiennent à l'objet fenêtre.
//此处可使用 window.carName function myFunction() { carName = "Volvo"; }
Le saviez-vous ?
Vos variables globales, ou fonctions, peuvent remplacer les variables ou fonctions de l'objet fenêtre.
Les variables locales, y compris les objets de fenêtre, peuvent remplacer les variables et fonctions globales.
Supplémentaire
Le mot clé let dans ES6
let permet de déclarer qu'une portée est restreinte à Variables, instructions ou expressions au niveau du bloc. Contrairement au mot-clé var, les variables qu'il déclare ne peuvent être que globales ou l'intégralité du bloc fonctionnel.
let syntaxe :
let var1 [= valeur1] [, var2 [= valeur2]] [, ..., varN [= valeurN]];
Les variables déclarées par let ne sont disponibles que dans le bloc ou le sous-bloc dans lequel elles sont déclarées, comme pour var. La principale différence entre les deux est que la portée de la variable déclarée avec var est la fonction englobante entière. Exemple de code de la différence entre
let
et var
:
function varTest() { var x = 1; if (true) { var x = 2; // 同样的变量! console.log(x); // 2 } console.log(x); // 2 } function letTest() { let x = 1; if (true) { let x = 2; // 不同的变量 console.log(x); // 2 } console.log(x); // 1 }
Recommandations d'apprentissage associées : Tutoriel vidéo 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!