English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base JavaScript

Objet JavaScript

Fonction JavaScript

HTML DOM JS

BOM du navigateur JS

Tutoriel de base AJAX

Manuel de référence JavaScript

Portée des variables JavaScript

La portée d'une variable est le domaine du programme où elle est définie.

Les variables JavaScript n'ont que deux portées :

  • Portée locale

  • Portée globale

La portée détermine l'accessibilité (visibilité) des variables.

Variables locales JavaScript

Les variables déclarées dans une fonction ontLOCAL(local) portée, ce qui signifie qu'elles ne peuvent pas être appelées ou manipulées en dehors de la fonction.

// Le code ici ne peut pas utiliser cityName
function myFunc() {
  var cityName = "New Delhi";
  
  // Le code ici peut utiliser cityName  
}
// Le code ici ne peut pas utiliser cityName
Voyons si‹/›

Les variables locales ont une portée de fonction, elles ne peuvent être accédées qu'à l'intérieur de la fonction.

Les variables locales ne peuvent être reconnues qu'à l'intérieur de leur fonction, donc des variables portant le même nom peuvent être utilisées dans différentes fonctions.

Les variables locales sont créées au lancement de la fonction et supprimées à la fin de la fonction.

Variables globales JavaScript

Les variables déclarées en dehors de la fonction ontGLOBALLa portée, ce qui signifie que tous les scripts peuvent les utiliser, qu'ils soient à l'intérieur ou à l'extérieur de la fonction.

// Initialisation de la variable globale
var cityName = "New Delhi";
// Le code ici peut utiliser cityName
function myFunc() {  
  // Le code ici peut également utiliser cityName
}
// Le code ici peut utiliser cityName
Voyons si‹/›

Accèsible à partir de n'importe quel endroit du programme JavaScript.

Dans l'exemple suivant, nous créerons un GLOBAL cityNameLa variable. À l'intérieur de la fonction, il s'agit d'une variable locale portant le même nom.

// Initialisation de la variable globale
var cityName = "New Delhi";
function myFunc() {
  //Initialisation des variables locales et de portée de fonction
  var cityName = "Jaipur";
  document.writeln(cityName);
}
//Sortie des variables globales et locales
document.writeln(cityName);
myFunc();
document.writeln(cityName);
Voyons si‹/›

En les affichant dans le document, nous pouvons voir que les valeurs des variables diffèrent selon leur portée et que la valeur originale n'a pas été modifiée.

Variable globale automatique

Si une valeur est attribuée à une variable non déclarée, elle deviendra automatiquementGLOBAL (globale)variables.

Dans cet exemple, nous déclarerons une variable globalecityName,meme si une valeur a été attribuée à l'intérieur de la fonction.

myFunc();
// Le code ici peut utiliser cityName 
function myFunc() {
  cityName = "New Delhi";
}
Voyons si‹/›

À moins d'y être obligé, n'ouvrez pas轻易ment des variables globales.

Les variables globales peuvent couvrir les variables de fenêtre.

Toute fonction, y compris l'objet window, peut surcharger la variable GLOBALE.

Différences entre var, let et const

JavaScript a trois mots-clés différents pour déclarer des variables, ce qui ajoute une couche de complexité au langage.

Les différences entre eux sont basées sur la portée, le levement et la réaffectation.

Mots-clésPortéeLèvementPeut être réaffectéPeut être redéclaré
varPortée de fonctionOuiOuiOui
letPortée de blocNonOuiNon
constPortée de blocNonNonNon

Portée de bloc des instructions JavaScript

AvecvarLes variables déclarées par des mots-clés ne peuvent pas avoir de portée de bloc.

Les variables déclarées par des mots-clés peuvent être accédées à l'extérieur du bloc où elles sont déclarées :

  { 
  var num = 50; 
  }
  // num peut être utilisé ici

AvecletLes variables déclarées par des mots-clés peuvent avoir une portée de bloc.

Les variables déclarées par des mots-clés ne peuvent pas être accédées à l'extérieur du bloc où elles sont déclarées :

  { 
  let num = 50; 
  }
  // num ne peut pas être utilisé ici

Déclaration de variable avec constetletSimilaire à la portée de bloc.

  { 
  const num = 50; 
  }
  // num ne peut pas être utilisé ici

La valeur des constantes ne peut pas être modifiée par réaffectation et ne peut pas être redéclarée.

Durée de vie des variables JavaScript

La durée de vie des variables JavaScript commence à la déclaration.

Les variables seront supprimées après la fin de la fonctionLocalvariables.

Lorsque vous fermez la fenêtre du navigateurGlobalLes variables seront supprimées, mais restent disponibles pour les nouvelles pages chargées dans la même fenêtre.