Le langage ActionScript > A propos des variables > Utilisation des variables dans un script

 

Utilisation des variables dans un script

Vous devez déclarer une variable dans un script avant de pouvoir l'utiliser dans une expression. Si vous utilisez une variable qui n'est pas déclarée, comme dans l'exemple suivant, la valeur de la variable sera undefined et votre script générera une erreur :

getURL(monSiteWeb);
monSiteWeb = "http://www.shrimpmeat.net";

L'instruction déclarant la variable monSiteWeb doit être placée en premier de sorte que la variable de l'action getURL puisse être remplacée par une valeur.

Vous pouvez changer plusieurs fois la valeur d'une variable dans un script. Le type de données contenu dans la variable affecte les conditions et le moment où la variable sera modifiée. Les types primitifs de données, comme les chaînes et les nombres, sont transmis par valeur. Cela signifie que le contenu réel de la variable est transmis à la variable.

Dans l'exemple suivant, x est défini sur 15 et cette valeur est copiée dans y. Lorsque x devient 30 à la ligne 3, la valeur de y reste 15 étant donné que y ne va pas chercher sa valeur dans x ; elle contient la valeur de x qu'elle a reçu à la ligne 2.

var x = 15;
var y = x;
var x = 30;

Dans un autre exemple, la variable valeurEntrée contient une valeur primitive, 3, la valeur réelle étant donc transmise à la fonction sqrt et la valeur renvoyée étant 9 :

function sqrt(x){
	return x * x;
}

var valeurEntrée = 3;
var Sortie = sqr(valeurEntrée);

La valeur de la variable valeurEntrée ne change pas.

Le type de données objet peut contenir tant d'informations complexes qu'une variable de ce type ne contient pas la valeur réelle, mais contient une référence à la valeur. Cette référence est un « alias » qui désigne le contenu de la variable. Lorsque la variable a besoin de connaître sa valeur, la référence demande le contenu et renvoie la réponse sans transférer la valeur à la variable.

Le code suivant est un exemple de transmission par référence :

var monTableau = ["tom", "dick"];
var nouveauTableau = monTableau;
monTableau[1] = "jack";
trace(nouveauTableau);

Le code ci-dessus crée un objet Array appelé monTableau qui contient deux éléments. La variable nouveauTableau est créée et reçoit une référence à monTableau. La modification du deuxième élément de monTableau affecte toutes les variables qui y font référence. L'action trace envoie tom, jack à la fenêtre Sortie.

Dans l'exemple suivant, monTableau contient un objet Array qui est transmis à la fonction tableauNul par référence. La fonction tableauNul change le contenu du tableau en monTableau.

function tableauNul(leTableau){
	var i;
	for (i=0; i < leTableau.length; i++) {
		leTableau[i] = 0;
	}
} 

var monTableau = new Array();
monTableau[0] = 1;
monTableau[1] = 2;
monTableau[2] = 3;
tableauNul(monTableau);

La fonction tableauNul accepte un objet Array comme paramètre et définit tous les éléments de ce tableau sur 0. Elle peut modifier ce tableau car il est transmis par référence.