03.07.2013 Views

Guide de reference du langage ActionScript 2.0 - PowWeb

Guide de reference du langage ActionScript 2.0 - PowWeb

Guide de reference du langage ActionScript 2.0 - PowWeb

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

L'instruction for..in itère sur <strong>de</strong>s propriétés <strong>de</strong>s objets <strong>du</strong> chaînage <strong>de</strong> prototype <strong>de</strong> l'objet<br />

itéré. Les propriétés <strong>de</strong> l'objet sont énumérés en premier, puis les propriétés <strong>de</strong> son prototype<br />

immédiat, puis les propriétés <strong>du</strong> prototype <strong>du</strong> prototype, etc. L'instruction for..in<br />

n'énumère pas le même nom <strong>de</strong> propriété <strong>de</strong>ux fois. Si l'objet child comporte un prototype<br />

parent et que tous <strong>de</strong>ux contiennent la propriété prop, l'instruction for..in appelée pour<br />

child énumère les propriétés prop <strong>de</strong> child, mais ignore celles <strong>de</strong> parent.<br />

Les accola<strong>de</strong>s ({}), qui servent normalement à entourer le bloc d'instructions que l'instruction<br />

for..in doit exécuter, peuvent être omises si une seule instruction doit s'exécuter.<br />

Si vous écrivez une boucle for..in dans un fichier <strong>de</strong> classe (un fichier externe AS), les<br />

membres d'instance ne seront plus disponibles pour la boucle, contrairement aux membres<br />

statiques. Cependant, si vous écrivez une boucle for..in dans un fichier FLA pour une<br />

occurrence <strong>de</strong> la classe, les membres <strong>de</strong> l'occurrence restent disponibles, contrairement aux<br />

membres statiques.<br />

Disponibilité : Flash Player 5 ; <strong>ActionScript</strong> 1.0<br />

Paramètres<br />

variableIterant:String - Nom d'une variable <strong>de</strong>vant servir d'itérant, référençant chaque<br />

propriété d'un objet ou d'un élément dans un tableau.<br />

Exemple<br />

L'exemple suivant utilise une boucle for..in sur les propriétés d'un objet :<br />

var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"};<br />

for (var prop in myObject) {<br />

trace("myObject."+prop+" = "+myObject[prop]);<br />

}<br />

//output<br />

myObject.firstName = Tara<br />

myObject.age = 27<br />

myObject.city = San Francisco<br />

L'exemple suivant utilise une boucle for..in sur les éléments d'un tableau :<br />

var myArray:Array = new Array("one", "two", "three");<br />

for (var in<strong>de</strong>x in myArray)<br />

trace("myArray["+in<strong>de</strong>x+"] = " + myArray[in<strong>de</strong>x]);<br />

// output:<br />

myArray[2] = three<br />

myArray[1] = two<br />

myArray[0] = one<br />

L'exemple suivant utilise l'opérateur typeof conjointement avec for..in pour faire une<br />

itération sur un type d'enfant particulier :<br />

for (var name in this) {<br />

216 Chapitre 1: Eléments <strong>du</strong> <strong>langage</strong> <strong>ActionScript</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!