Maison  >  Article  >  interface Web  >  Une explication détaillée de la portée de JavaScript

Une explication détaillée de la portée de JavaScript

coldplay.xixi
coldplay.xixiavant
2020-07-15 17:12:132198parcourir

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer