Variables

  • Raccourci de la révision : JavaScript//Guide/Variables
  • Titre de la révision : Variables
  • ID de la révision : 163202
  • Créé :
  • Créateur :
  • Version actuelle ? Non
  • Commentaire /* Déclarer une variable */

Contenu de la révision

Variables

Une variable est un nom symbolique désignant une valeur de votre application. Les noms de variables, appelés identifiants, se conforment à certaines règles.

Un identifiant JavaScript doit commencer par une lettre, un tiret bas (_) ou un signe dollar ($) ; les caractères suivants peuvent être tout cela plus des chiffres (0 à 9). Comme JavaScript est sensible à la casse, les lettres constituent à la fois les caractères A à Z (caractères majuscules) et les caractères a à z (caractères minuscules).

À partir de JavaScript 1.5, vous pouvez utiliser des lettres ISO-8859-1 ou Unicode dans vos identifiants, par exemple å et ü. Vous pouvez aussi utiliser certaines séquences d'échappement Unicode \uXXXX dans vos identifiants (les séquences d'échappement Unicode pouvant être utilisées sont décrites sur la page Séquences d'échappement Unicode).

Par exemple, Nombre_de_hits, temp99 et _prénom sont des noms légaux.

Déclarer une variable

Une variable peut être déclarée de deux manières :

  • Grâce au mot-clé var. Par exemple, var x = 42. Cette syntaxe peut être utilisée pour déclarer des variables tant locales que globales.
  • En lui assignant simplement une valeur. Par exemple, x = 42. Cette syntaxe déclare toujours une variable globale et génère un avertissement strict en JavaScript. Cette variante ne devrait pas être utilisée.

Évaluer une variable

Une variable déclarée avec l'instruction var sans valeur initiale aura la valeur undefined.

Toute tentative d'accéder à une variable non déclarée provoquera le déclenchement d'une exception ReferenceError :

var a;
print("La valeur de a est " + a); // affiche "La valeur de a est undefined"
print("La valeur de b est " + b); // déclenche une exception ReferenceError

Vous pouvez utiliser undefined pour déterminer si une variable possède une valeur. Dans le code suivant, la variable input ne s'est pas vue affecter de valeur et la condition de l'instruction if est vraie (true) :

var input;
if(input == undefined) {
  faireCeci();
} else {
  faireCela();
}

La valeur undefined est considérée comme fausse (false) lorsqu'elle est utilisée dans un contexte booléen. À titre d'exemple, le code suivant exécute la fonction maFonction car l'élément du tableau monTableau n'est pas défini :

monTableau = new Array();
if (!monTableau[0])
  maFonction();

Lorsque vous évaluez une variable nulle, la valeur null est considérée comme 0 lorsque convertie en valeur numérique et comme fausse (false) lorsqu'utilisée dans un contexte booléen. À titre d'exemple :

var n = null;
n * 32; // Renvoie 0

Portée d'une variable

Lorsqu'une variable est définie en dehors de toute fonction, elle est dite globale car elle est disponible pour tout autre code du document actuel. Lorsqu'une variable est déclarée à l'intérieur d'une fonction, elle est dite locale car elle n'est disponible que pour cette fonction. JavaScript ne possède pas de portée correspondant aux blocs ; une variable déclarée à l'intérieur d'un bloc a pour portée la même portée que le code dans lequel réside le bloc. Par exemple, le code qui suit affichera 0 plutôt que de provoquer une exception si condition vaut false :

if (condition) {
  var x = 5;
}
print(x ? x : 0);

Une autre chose inhabituelle à propos des variables en JavaScript est qu'il est possible de se référer à une variable déclarée plus tard sans déclencher d'exception :

 print(x === undefined); // affiche "true"
 var x = 3;

Variables globales

Les variables globales sont en fait des propriétés de l'objet global. Dans les pages Web, l'objet global est window, il est donc possible de définir et d'accéder à des variables globales en utilisant la syntaxe window.variable.

Par conséquent, il est possible d'accéder aux variables globales déclarées dans une fenêtre ou un cadre à partir d'une autre fenêtre ou d'un autre cadre en spécifiant le nom de la fenêtre ou du cadre correspondant. À titre d'exemple, si une variable nommée numéroDeTel est déclarée à l'intérieur d'un document contenant une balise FRAMESET, vous pouvez faire référence à cette variable à partir d'un cadre-fils en écrivant parent.numéroDeTel.

{{wiki.template('PrécédentSuivant', [ "Guide JavaScript 1.5:Valeurs", "Guide JavaScript 1.5:Constantes" ])}}

{{ wiki.languages( { "en": "en/Core_JavaScript_1.5_Guide/Variables", "ja": "ja/Core_JavaScript_1.5_Guide/Variables", "ko": "ko/Core_JavaScript_1.5_Guide/Variables", "pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Zmienne" } ) }}

Source de la révision

<p>
</p>
<h3 name="Variables"> Variables </h3>
<p>Une variable est un nom symbolique désignant une valeur de votre application. Les noms de variables, appelés <i>identifiants</i>, se conforment à certaines règles.
</p><p>Un identifiant JavaScript doit commencer par une lettre, un tiret bas (<code>_</code>) ou un signe dollar (<code>$</code>) ; les caractères suivants peuvent être tout cela plus des chiffres (<code>0</code> à <code>9</code>). Comme JavaScript est sensible à la casse, les lettres constituent à la fois les caractères <code>A</code> à <code>Z</code> (caractères majuscules) et les caractères <code>a</code> à <code>z</code> (caractères minuscules).
</p><p>À partir de JavaScript 1.5, vous pouvez utiliser des lettres ISO-8859-1 ou Unicode dans vos identifiants, par exemple <code>å</code> et <code>ü</code>. Vous pouvez aussi utiliser certaines séquences d'échappement Unicode <code>\uXXXX</code> dans vos identifiants (les séquences d'échappement Unicode pouvant être utilisées sont décrites sur la page <a href="fr/Guide_JavaScript_1.5/Unicode#S.C3.A9quences_d.27.C3.A9chappement_Unicode">Séquences d'échappement Unicode</a>).
</p><p>Par exemple, <code>Nombre_de_hits</code>, <code>temp99</code> et <code>_prénom</code> sont des noms légaux.
</p>
<h4 name="D.C3.A9clarer_une_variable"> Déclarer une variable </h4>
<p>Une variable peut être déclarée de deux manières :
</p>
<ul><li> Grâce au mot-clé <a href="fr/R%c3%a9f%c3%a9rence_JavaScript_1.5/Instructions/var">var</a>. Par exemple, <code>var x = 42</code>. Cette syntaxe peut être utilisée pour déclarer des variables tant <a href="#Port.C3.A9e_d.27une_variable">locales que globales</a>.
</li><li> En lui assignant simplement une valeur. Par exemple, <code>x = 42</code>. Cette syntaxe déclare toujours une <a href="#Variables_globales">variable globale</a> et génère un avertissement strict en JavaScript. Cette variante ne devrait pas être utilisée.
</li></ul>
<h4 name=".C3.89valuer_une_variable"> Évaluer une variable </h4>
<p>Une variable déclarée avec l'instruction <code>var</code> sans valeur initiale aura la valeur <a href="fr/R%c3%a9f%c3%a9rence_de_JavaScript_1.5_Core/Propri%c3%a9t%c3%a9s_globales/undefined"><code>undefined</code></a>. 
</p><p>Toute tentative d'accéder à une variable non déclarée provoquera le déclenchement d'une exception <code>ReferenceError</code> :
</p>
<pre class="eval">var a;
print("La valeur de a est " + a); // affiche "La valeur de a est undefined"
print("La valeur de b est " + b); // déclenche une exception ReferenceError
</pre>
<p>Vous pouvez utiliser <code>undefined</code> pour déterminer si une variable possède une valeur. Dans le code suivant, la variable <code>input</code> ne s'est pas vue affecter de valeur et la condition de l'instruction <code><a href="fr/R%c3%a9f%c3%a9rence_de_JavaScript_1.5_Core/Instructions/if...else">if</a></code> est vraie (<code>true</code>) :
</p>
<pre class="eval">var input;
if(input == undefined) {
  faireCeci();
} else {
  faireCela();
}
</pre>
<p>La valeur <code>undefined</code> est considérée comme fausse (<code>false</code>) lorsqu'elle est utilisée dans un contexte booléen. À titre d'exemple, le code suivant exécute la fonction <code>maFonction</code> car l'élément du tableau <code>monTableau</code> n'est pas défini :
</p>
<pre class="eval">monTableau = new Array();
if (!monTableau[0])
  maFonction();
</pre>
<p>Lorsque vous évaluez une variable nulle, la valeur <code>null</code> est considérée comme 0 lorsque convertie en valeur numérique et comme fausse (<code>false</code>) lorsqu'utilisée dans un contexte booléen. À titre d'exemple :
</p>
<pre class="eval">var n = null;
n * 32; // Renvoie 0
</pre>
<h4 name="Port.C3.A9e_d.27une_variable"> Portée d'une variable </h4>
<p>Lorsqu'une variable est définie en dehors de toute fonction, elle est dite <i>globale</i> car elle est disponible pour tout autre code du document actuel. Lorsqu'une variable est déclarée à l'intérieur d'une fonction, elle est dite <i>locale</i> car elle n'est disponible que pour cette fonction. JavaScript ne possède pas de portée correspondant aux <a href="fr/Guide_JavaScript_1.5/D%c3%a9claration_de_blocs#Blocs">blocs</a> ; une variable déclarée à l'intérieur d'un bloc a pour portée la même portée que le code dans lequel réside le bloc. Par exemple, le code qui suit affichera 0 plutôt que de provoquer une exception si <code>condition</code> vaut <code>false</code> :
</p>
<pre class="eval">if (condition) {
  var x = 5;
}
print(x ? x : 0);
</pre>
<p>Une autre chose inhabituelle à propos des variables en JavaScript est qu'il est possible de se référer à une variable déclarée plus tard sans déclencher d'exception :
</p>
<pre class="eval"> print(x === undefined); // affiche "true"
 var x = 3;
</pre>
<h4 name="Variables_globales"> Variables globales </h4>
<p>Les variables globales sont en fait des propriétés de l'<i>objet global</i>. Dans les pages Web, l'objet global est <a href="fr/DOM/window">window</a>, il est donc possible de définir et d'accéder à des variables globales en utilisant la syntaxe <code>window.<i>variable</i></code>.
</p><p>Par conséquent, il est possible d'accéder aux variables globales déclarées dans une fenêtre ou un cadre à partir d'une autre fenêtre ou d'un autre cadre en spécifiant le nom de la fenêtre ou du cadre correspondant. À titre d'exemple, si une variable nommée <code>numéroDeTel</code> est déclarée à l'intérieur d'un document contenant une balise <code><a href="fr/HTML/%c3%89l%c3%a9ment/frameset">FRAMESET</a></code>, vous pouvez faire référence à cette variable à partir d'un cadre-fils en écrivant <code>parent.numéroDeTel</code>.
</p><p>{{wiki.template('PrécédentSuivant', [ "Guide JavaScript 1.5:Valeurs", "Guide JavaScript 1.5:Constantes" ])}}
</p>{{ wiki.languages( { "en": "en/Core_JavaScript_1.5_Guide/Variables", "ja": "ja/Core_JavaScript_1.5_Guide/Variables", "ko": "ko/Core_JavaScript_1.5_Guide/Variables", "pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Zmienne" } ) }}
Revenir à cette révision