__Global__VerifyError La classe VerifyError représente une erreur qui se produit lorsqu’un fichier SWF incorrectement formé ou endommagé est détecté.Une erreur VerifyError est renvoyée lorsqu’un fichier SWF incorrect ou endommagé est détecté. Error La classe VerifyError représente une erreur qui se produit lorsqu’un fichier SWF incorrectement formé ou endommagé est détecté. Classe LoaderVerifyError Crée un objet VerifyError.messageStringContient le message associé à l’objet VerifyError. Crée un objet VerifyError. ArgumentError La classe ArgumentError représente une erreur qui se produit lorsque les arguments spécifiés dans une fonction ne correspondent pas aux arguments définis pour celle-ci.Une erreur ArgumentError est renvoyée lorsque les valeurs de paramètre spécifiées lors d’un appel de fonction ne correspondent pas aux paramètres définis pour celle-ci. Error La classe ArgumentError représente une erreur qui se produit lorsque les arguments spécifiés dans une fonction ne correspondent pas aux arguments définis pour celle-ci. Cette erreur se produit par exemple si vous appelez une fonction en spécifiant un nombre incorrect d’arguments, un argument de type incorrect ou un argument non valide. L’exemple suivant indique comment générer une erreur ArgumentError et la traiter avec une instruction try..catch. La fonction println() ne prend qu’un seul argument, une chaîne unique. Dans la mesure où deux chaînes sont fournies, l’erreur est renvoyée. De manière générale, le compilateur peut intercepter une erreur, mais la syntaxe this[] de cette instruction try contourne la vérification de la syntaxe du compilateur pour la fonction. package { import flash.display.Sprite; public class ArgumentErrorExample extends Sprite { public function ArgumentErrorExample() { println("Hello World"); try { this["println"]("Hello", "World"); } catch(e:ArgumentError) { trace(e); } } public function println(str:String):void { trace(str); } } } ArgumentError Crée un objet ArgumentError.messageStringChaîne associée à l’erreur. Crée un objet ArgumentError. QName Les objets QName représentent les noms complets des éléments et attributs XML.Object Les objets QName représentent les noms complets des éléments et attributs XML. Chaque objet QName possède un nom local et un URI (Uniform Resource Identifier) d’espace de noms. Si la valeur de l’URI de l’espace de noms est null, l’objet QName correspond à tout espace de noms. Utilisez le constructeur QName pour créer un objet QName correspondant soit à une copie d’un autre objet QName, soit à un nouvel objet QName dont le paramètre uri est extrait d’un objet Namespace et le paramètre localName est extrait d’un objet QName.

Les méthodes propres à E4X peuvent utiliser des objets QName, quels qu’ils soient, à l’aide de chaînes. Les méthodes E4X figurent dans les classes QName, Namespace, XML et XMLList. Parce qu’elles extraient une chaîne, elles peuvent également extraire un objet QName. Cette interchangeabilité explique comment une méthode telle que XML.child() gère la prise en charge des espaces de noms.

A l’instar des classes XML, XMLList et Namespace, la classe QName implémente des normes de gestion XML performantes définies dans la spécification ECMAScript pour XML (E4X) (ECMA-357, édition 2).

Un identificateur complet renvoie un objet QName. Si l’objet QName d’un élément XML est spécifié sans identifier d’espace de noms, la propriété uri de l’objet QName associé est définie sur l’espace de noms global par défaut. Si l’objet QName d’un attribut XML est spécifié sans identifier d’espace de noms, la propriété uri est définie sur une chaîne vide.

L’exemple suivant indique comment créer une occurrence de QName et l’utiliser pour sélectionner des éléments XML. Deux méthodes de création de QName sont indiquées :
  1. Création d’une occurrence d’espace de noms, puis utilisation de cette dernière en tant qu’entrée pour le constructeur QName. Cette approche est préférable lorsque vous utilisez ultérieurement la propriété Namespace.prefix à d’autres fins.
  2. Création d’une occurrence de QName utilisant une valeur de chaîne pour le paramètre uri dans le constructeur QName.

Ce code produit les résultats suivants :

  1. Définit une variable XML appelée rssXML.
  2. Crée un nouvel objet Namespace avec le préfixe dc.
  3. Crée un objet QName qui utilise l’objet Namespace et le créateur de nom local.
  4. Appelle la méthode showDescendants(), qui utilise la méthode XML.descendants() pour obtenir une occurrence XMLList contenant tous les éléments descendants dont le nom qualifié correspond à l’occurrence QName donnée.
  5. Affiche le nom qualifié et la valeur de texte des éléments de la liste à l’aide d’une boucle for each.
  6. Crée un autre objet QName qui utilise une valeur de chaîne pour le paramètre uri et la date du nom local.
  7. Appelle à nouveau la méthode showDescendants() pour afficher le nom et la valeur de texte des éléments descendants.
package { import flash.display.Sprite; public class QNameExample extends Sprite { public function QNameExample() { var rssXML:XML = <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel rdf:about="http://www.xml.com/cs/xml/query/q/19"> <title>Test RSS</title> <link>http://www.adobe.com/</link> <description>This is a test RSS document.</description> <language>en-us</language> <items> <rdf:Seq> <rdf:li rdf:resource="http://www.adobe.com/devnet/flash/"/> <rdf:li rdf:resource="http://www.adobe.com/devnet/flex/"/> </rdf:Seq> </items> </channel> <item rdf:about="http://www.adobe.com/devnet/flash/"> <title>Flash Developer Center</title> <link>http://www.adobe.com/devnet/flash/</link> <description>Welcome to the Flash Developer Center</description> <dc:creator>Adobe</dc:creator> <dc:date>2005-08-08</dc:date> </item> <item rdf:about="http://www.adobe.com/devnet/flex/"> <title>Flex Developer Center</title> <link>http://www.adobe.com/devnet/flex/</link> <description>Welcome to the Flex Developer Center</description> <dc:creator>Adobe</dc:creator> <dc:date>2005-10-16</dc:date> </item> </rdf:RDF>; var dcNamespace:Namespace = new Namespace("dc", "http://purl.org/dc/elements/1.1/"); var creatorQName:QName = new QName(dcNamespace, "creator"); trace(creatorQName.uri); // http://purl.org/dc/elements/1.1/ trace(creatorQName.localName); // creator showDescendants(rssXML, creatorQName); var dateQName:QName = new QName("http://purl.org/dc/elements/1.1/", "date"); trace(dateQName.uri); // http://purl.org/dc/elements/1.1/ trace(dateQName.localName); // date showDescendants(rssXML, dateQName); } public function showDescendants(xmlData:XML, qualifiedName:QName):void { var decendantList:XMLList = xmlData.descendants(qualifiedName); for each (var element:XML in decendantList) { trace(element.name()); // the fully qualified name, // like "http://purl.org/dc/elements/1.1/::creator" trace(element); // the simple text value of each element, like "Adobe" } } } }
XMLXMLListEspace de nom ECMAScript pour la spécification XML (E4X) (ECMA-357 edition 2)QName Crée un objet QName qui est une copie d’un autre objet QName.qnameQNameObjet QName à copier. Les objets de tout autre type sont convertis en chaîne, qui est affectée à la propriété localName du nouvel objet QName. Crée un objet QName qui est une copie d’un autre objet QName. Si le paramètre transmis au constructeur est un objet QName, une copie de ce dernier est créée. Si le paramètre n’est pas un objet QName, le paramètre est converti en chaîne et affecté à la propriété localName de la nouvelle occurrence de QName. Si le paramètre est réglé sur undefined ou n’est pas spécifié, un nouvel objet est créé et sa propriété localName est définie sur la chaîne vide.

Remarque : cette classe utilise deux entrées de constructeur, car chaque forme accepte des paramètres différents. Le constructeur se comporte différemment selon le type et le nombre de paramètres transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d’un constructeur.

QName Crée un objet QName associé à un objet URI à partir d’un objet Namespace et une valeur localName extraite d’un objet QName.uriNamespaceObjet Namespace d’où sera copiée la valeur uri. Un paramètre de tout autre type est converti en chaîne. localNameQNameObjet QName d’où sera copiée la valeur localName. Un paramètre de tout autre type est converti en chaîne. Crée un objet QName associé à un objet URI à partir d’un objet Namespace et une valeur localName extraite d’un objet QName. Si l’un des paramètres ne correspond pas au type de données attendu, le paramètre est converti en chaîne et est affecté à la propriété correspondante du nouvel objet QName. Si, par exemple, les deux paramètres sont des chaînes, un nouvel objet QName est renvoyé. La propriété uri est définie sur le premier paramètre et la propriété localName est définie sur le second paramètre. En d’autres termes, les permutations suivantes (qui ne constituent que quelques exemples) représentent des formes valides du constructeur :
QName (uri:Namespace, localName:String);
QName (uri:String, localName: QName);
QName (uri:String, localName: String);

Si vous transmettez null pour le paramètre uri, la propriété uri du nouvel objet QName est définie sur null.

Remarque : cette classe utilise deux entrées de constructeur, car chaque forme accepte des paramètres différents. Le constructeur se comporte différemment selon le type et le nombre de paramètres transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d’un constructeur.

toString Renvoie une chaîne composée de l’URI et le nom local de l’objet QName, séparés par « :: ».Nom complet, exprimé sous forme de chaîne. String Renvoie une chaîne composée de l’URI et le nom local de l’objet QName, séparés par « :: ».

Le format varie selon la propriété uri de l’objet QName :

If uri == "" 
		toString returns localName
	else if uri == null
		toString returns ~~::localName 
	else
		toString returns uri::localName
valueOf Renvoie l’objet QName.Valeur primitive d’une occurrence de QName. QName Renvoie l’objet QName. localName Nom local de l’objet QName.String Nom local de l’objet QName. uri URI (Uniform Resource Identifier) de l’objet QName.String URI (Uniform Resource Identifier) de l’objet QName.
EvalError La classe EvalError représente une erreur qui se produit lorsque le code utilisateur appelle la fonction eval() ou tente d’utiliser l’opérateur new avec l’objet Function.Une erreur EvalError est renvoyée lorsque le code tente d’appeler eval() ou d’utiliser new avec l’objet Function. Error La classe EvalError représente une erreur qui se produit lorsque le code utilisateur appelle la fonction eval() ou tente d’utiliser l’opérateur new avec l’objet Function. Les appels de eval() et new avec l’objet Function ne sont pas pris en charge. EvalError Crée un objet EvalError.messageStringChaîne associée à l’erreur. Crée un objet EvalError. Math La classe Math contient des méthodes et des constantes qui représentent les fonctions et valeurs mathématiques courantes.Math est une classe de niveau supérieur composée de propriétés et méthodes statiques qui définissent les constantes et fonctions mathématiques courantes. Object La classe Math contient des méthodes et des constantes qui représentent les fonctions et valeurs mathématiques courantes.

Utilisez les méthodes et les propriétés de cette classe pour accéder aux constantes et fonctions mathématiques et les manipuler. Toutes les propriétés et les méthodes de la classe Math sont statiques et doivent être appelées à l’aide de la syntaxe Math.method(parameter) ou Math.constant. Dans ActionScript, les constantes sont définies selon la précision maximale des nombres à virgule flottante comportant deux décimales, conformément à IEEE-754.

Plusieurs méthodes de la classe Math utilisent la mesure d’un angle en radians en tant que paramètre. Vous pouvez utiliser l’équation suivante pour calculer les valeurs en radian avant d’appeler la méthode, puis exprimer la valeur calculée en tant que paramètre. Vous pouvez également utiliser toutes les valeurs situées à droite de l’équation (l’angle étant exprimé en radians plutôt qu’en degrees) en tant que paramètre radian.

Pour calculer une valeur radian, utilisez la formule suivante :

 radians = degrees ~~ Math.PI/180
 

Pour convertir les radians en degrés, utilisez la formule suivante :

 degrees = radians ~~ 180/Math.PI
 

Dans l’exemple suivant, l’équation est utilisée en tant que paramètre pour calculer le sinus d’un angle de 45° :

Math.sin(45 ~~ Math.PI/180) est identique à Math.sin(.7854)

Remarque : les fonctions Math acos, asin, atan, atan2, cos, exp, log, pow, sin et sqrt risquent de produire un résultat légèrement différent selon les algorithmes utilisés par le processeur ou le système d’exploitation. Les moteurs d’exécution de Flash font appel au processeur (ou au système d’exploitation si le processeur ne prend pas en charge les calculs en virgule flottante) lorsqu’ils effectuent des calculs pour les fonctions indiquées et que les résultats sont légèrement différents selon le processeur ou le système d’exploitation utilisé.

abs Calcule et renvoie la valeur absolue du nombre spécifié par le paramètre val.Valeur absolue du paramètre spécifié. NumbervalNumberNombre dont la valeur absolue est renvoyée. Renvoie la valeur absolue du paramètre Number spécifié. Calcule et renvoie la valeur absolue du nombre spécifié par le paramètre val. acos Calcule et renvoie l’arc cosinus du nombre spécifié dans le paramètre val, en radians.Arc cosinus du paramètre val. NumbervalNumberNombre compris entre -1,0 et 1,0. Renvoie l’arc cosinus, en radians, du paramètre Number. Calcule et renvoie l’arc cosinus du nombre spécifié dans le paramètre val, en radians. asin Calcule et renvoie l’arc sinus du nombre spécifié dans le paramètre val, en radians.Nombre compris entre pi négatif divisé par 2 et pi positif divisé par 2. NumbervalNumberNombre compris entre -1,0 et 1,0. Renvoie la valeur, en radians, de l’arc sinus du paramètre Number spécifié. Calcule et renvoie l’arc sinus du nombre spécifié dans le paramètre val, en radians. atan2 Calcule et renvoie l’angle du point y/x en radians, lorsqu’il est mesuré dans le sens inverse des aiguilles d’une montre à partir de l’axe x d’un cercle (où 0,0 représente le centre du cercle).Un nombre. NumberyNumberCoordonnée y du point. xNumberCoordonnée x du point. Renvoie l’angle du point y/x en radians, lorsqu’il est mesuré dans le sens inverse des aiguilles d’une montre à partir de l’axe x d’un cercle. Calcule et renvoie l’angle du point y/x en radians, lorsqu’il est mesuré dans le sens inverse des aiguilles d’une montre à partir de l’axe x d’un cercle (où 0,0 représente le centre du cercle). La valeur renvoyée est comprise entre pi positif et pi négatif. Notez que le premier paramètre attribué à atan2 correspond toujours à la coordonnée y. Math.acos()Math.asin()Math.atan()Math.cos()Math.sin()Math.tan()atan Calcule et renvoie la valeur, en radians, de l’angle dont la tangente est spécifiée dans le paramètre val.Nombre compris entre pi négatif divisé par 2 et pi positif divisé par 2. NumbervalNumberNombre représentant la tangente d’un angle. Renvoie l’angle, en radians, dont la tangente est spécifiée par le paramètre val. Calcule et renvoie la valeur, en radians, de l’angle dont la tangente est spécifiée dans le paramètre val. La valeur renvoyée est comprise entre pi négatif divisé par 2 et pi positif divisé par 2. ceil Renvoie la valeur maximale du nombre ou de l’expression spécifié(e).Entier le plus proche et supérieur ou égal au paramètre val. NumbervalNumberNombre ou expression. Renvoie la valeur maximale du nombre ou de l’expression spécifié(e). Renvoie la valeur maximale du nombre ou de l’expression spécifié(e). La valeur maximale d’un nombre est l’entier le plus proche supérieur ou égal au nombre. Math.floor()Math.round()cos Calcule et renvoie le cosinus de l’angle spécifié en radians.Nombre compris entre -1,0 et 1,0. NumberangleRadiansNumberNombre représentant un angle mesuré en radians. Renvoie le cosinus de l’angle spécifié. Calcule et renvoie le cosinus de l’angle spécifié en radians. Pour calculer un radian, voir la présentation de la classe Math. Math.acos()Math.asin()Math.atan()Math.atan2()Math.sin()Math.tan()exp Renvoie la valeur de la base du logarithme népérien (e), à la puissance de l’exposant spécifié dans le paramètre x.e à la puissance du paramètre val. NumbervalNumberExposant ; un nombre ou une expression. Renvoie la valeur de la base du logarithme népérien (e), à la puissance de l’exposant spécifié dans le paramètre val. Renvoie la valeur de la base du logarithme népérien (e), à la puissance de l’exposant spécifié dans le paramètre x. La constante Math.E peut renvoyer la valeur e. Math.Efloor Renvoie la valeur minimale du nombre ou de l’expression spécifié(e) dans le paramètre val.Entier le plus proche et inférieur ou égal au paramètre val. NumbervalNumberNombre ou expression. Renvoie la valeur minimale du nombre ou de l’expression spécifié(e) dans le paramètre val. Renvoie la valeur minimale du nombre ou de l’expression spécifié(e) dans le paramètre val. La valeur minimale est l’entier le plus proche inférieur ou égal au nombre ou à l’expression spécifié(e). log Renvoie le logarithme népérien du paramètre val.Logarithme népérien du paramètre val. NumbervalNumberNombre ou expression d’une valeur supérieure à 0. Renvoie le logarithme népérien du paramètre val. Renvoie le logarithme népérien du paramètre val. max Evalue val1 et val2 (ou plusieurs valeurs) et renvoie la valeur la plus grande.Renvoie la valeur la plus élevée des paramètres val1 et val2 (ou un nombre supérieur de paramètres). Numberval1NumberNombre ou expression. val2NumberNombre ou expression. restNombre ou expression. Math.max() peut accepter plusieurs arguments. Evalue les paramètres val1 et val2 et renvoie la valeur la plus élevée. Evalue val1 et val2 (ou un nombre supérieur de valeurs), puis renvoie la valeur supérieure. Math.min()min Evalue val1 et val2 (ou plusieurs valeurs) et renvoie la valeur inférieure.Renvoie la valeur inférieure des paramètres val1 et val2 (ou un nombre supérieur de paramètres). Numberval1NumberNombre ou expression. val2NumberNombre ou expression. restNombre ou expression. Math.min() peut accepter plusieurs arguments. Evalue les paramètres val1 et val2 et renvoie la valeur la plus faible. Evalue val1 et val2 (ou un nombre supérieur de valeurs), puis renvoie la valeur inférieure. Math.max()pow Calcule et renvoie base à la puissance de pow.Valeur de base à la puissance de pow. NumberbaseNumberNombre à élever à la puissance du paramètre pow. powNumberNombre spécifiant la puissance à laquelle le paramètre base est élevé. Renvoie val1 élevé à la puissance de val2. Calcule et renvoie base à la puissance de pow. random Renvoie un nombre pseudo-aléatoire n, où 0 &lt;= n &lt; 1.Nombre pseudo-aléatoire. NumberRenvoie un nombre pseudo-aléatoire n, où 0 <= n < 1. Renvoie un nombre pseudo-aléatoire n, où 0 <= n < 1. Le nombre renvoyé est calculé de façon confidentielle et « pseudo-aléatoire », dans la mesure où le calcul contient inévitablement certains éléments non aléatoires. round Arrondit la valeur du paramètre val à l’entier immédiatement supérieur ou inférieur et la renvoie.Paramètre val arrondi à l’entier le plus proche. NumbervalNumberNombre à arrondir. Renvoie la valeur du paramètre val arrondi à l’entier (inférieur ou supérieur) le plus proche. Arrondit la valeur du paramètre val à l’entier immédiatement supérieur ou inférieur et la renvoie. Si val est équidistant par rapport aux deux entiers les plus proches (si le nombre se termine par ,5), la valeur est arrondie à l’entier immédiatement supérieur. Math.ceil()Math.floor()sin Calcule et renvoie le sinus de l’angle spécifié en radians.Nombre ; le sinus de l’angle spécifié (compris entre -1,0 et 1,0). NumberangleRadiansNumberNombre représentant un angle mesuré en radians. Renvoie le sinus de l’angle spécifié. Calcule et renvoie le sinus de l’angle spécifié en radians. Pour calculer un radian, voir la présentation de la classe Math. Math.acos()Math.asin()Math.atan()Math.atan2()Math.cos()Math.tan()sqrt Calcule et renvoie la racine carrée du nombre spécifié.Si le paramètre val est supérieur ou égal à zéro, un nombre. Dans le cas contraire, NaN (n’est pas un nombre). NumbervalNumberNombre ou expression supérieur ou égal à 0. Renvoie la racine carrée du nombre spécifié. Calcule et renvoie la racine carrée du nombre spécifié. tan Calcule et renvoie la tangente de l’angle spécifié.Tangente du paramètre angleRadians. NumberangleRadiansNumberNombre représentant un angle mesuré en radians. Renvoie la tangente de l’angle spécifié. Calcule et renvoie la tangente de l’angle spécifié. Pour calculer un radian, voir la présentation de la classe Math. Math.acos()Math.asin()Math.atan()Math.atan2()Math.cos()Math.sin()E Constante mathématique pour la base des logarithmes népériens, exprimée en e.2.71828182845905NumberConstante mathématique pour la base des logarithmes népériens, exprimée en e. Constante mathématique pour la base des logarithmes népériens, exprimée en e. La valeur approximative de e est 2,71828182845905. LN10 Constante mathématique pour le logarithme népérien de 10, exprimée sous la forme de loge10, d’une valeur approximative de 2,302585092994046.2.302585092994046NumberConstante mathématique pour le logarithme népérien de 10, exprimée sous la forme de loge10, d’une valeur approximative de 2,302585092994046. Constante mathématique pour le logarithme népérien de 10, exprimée sous la forme de loge 10, d’une valeur approximative de 2,302585092994046. LN2 Constante mathématique pour le logarithme népérien de 2, exprimée sous la forme de loge2, d’une valeur approximative de 0,6931471805599453.0.6931471805599453NumberConstante mathématique pour le logarithme népérien de 2, exprimée sous la forme de loge2, d’une valeur approximative de 0,6931471805599453. Constante mathématique pour le logarithme népérien de 2, exprimée sous la forme de loge 2, d’une valeur approximative de 0.6931471805599453. LOG10E Constante mathématique pour le logarithme en base 10 de la constante e (Math.E), exprimée sous la forme de log10e, d’une valeur approximative de 0,4342944819032518.0.4342944819032518NumberConstante mathématique pour le logarithme en base 10 de la constante e, exprimée sous la forme de log10e, d’une valeur approximative de 0,4342944819032518. Constante mathématique pour le logarithme en base 10 de la constante e (Math.E), exprimée sous la forme de log10e, d’une valeur approximative de 0,4342944819032518.

La méthode Math.log() calcule le logarithme népérien d’un nombre. Multipliez le résultat de Math.log() par Math.LOG10E pour obtenir le logarithme en base 10.

LOG2E Constante mathématique pour le logarithme en base 2 de la constante e, exprimée sous la forme de log2e, d’une valeur approximative de 1,442695040888963387.1.442695040888963387NumberConstante mathématique pour le logarithme en base 2 de la constante e, exprimée sous la forme de log2e, d’une valeur approximative de 1,442695040888963387. Constante mathématique pour le logarithme en base 2 de la constante e, exprimée sous la forme de log2e, d’une valeur approximative de 1,442695040888963387.

La méthode Math.log calcule le logarithme népérien d’un nombre. Multipliez le résultat de Math.log() par Math.LOG2E pour obtenir le logarithme en base 2.

PI Constante mathématique pour le ratio de la circonférence d’un cercle par rapport à son diamètre, exprimée sous la forme de pi, d’une valeur de 3,141592653589793.3.141592653589793NumberConstante mathématique pour le ratio de la circonférence d’un cercle par rapport à son diamètre, exprimée sous la forme de pi, d’une valeur de 3,141592653589793. Constante mathématique pour le ratio de la circonférence d’un cercle par rapport à son diamètre, exprimée sous la forme de pi, d’une valeur de 3,141592653589793. SQRT1_2 Constante mathématique pour la racine carrée de un demi, d’une valeur approximative de 0,7071067811865476.0.7071067811865476NumberConstante mathématique pour la racine carrée de un demi, d’une valeur approximative de 0,7071067811865476. Constante mathématique pour la racine carrée de un demi, d’une valeur approximative de 0,7071067811865476. SQRT2 Constante mathématique pour la racine carrée de 2, d’une valeur approximative de 1,4142135623730951.1.4142135623730951NumberConstante mathématique pour la racine carrée de 2, d’une valeur approximative de 1,4142135623730951. Constante mathématique pour la racine carrée de 2, d’une valeur approximative de 1,4142135623730951.
Array La classe Array vous permet d’accéder aux tableaux et de les manipuler.Vous permet d’accéder aux tableaux indexés et de les manipuler. Object La classe Array vous permet d’accéder aux tableaux et de les manipuler. Tous les index de tableaux commencent à zéro, ce qui signifie que le premier élément du tableau est [0], le deuxième est [1], etc. Pour créer un objet Array, utilisez le constructeur new Array(). Array() peut également être appelé en tant que fonction. Vous pouvez en outre utiliser l’opérateur d’accès aux tableaux ([]) pour initialiser un tableau ou accéder aux éléments qu’il contient.

Vous pouvez stocker divers types de données dans un élément de tableau, y compris les nombres, les chaînes, les objets et même d’autres tableaux. Vous pouvez créer un tableau multidimensionnel en concevant un tableau indexé et en affectant à chacun de ses éléments un tableau indexé différent. Ce type de tableau est considéré comme étant multidimensionnel car il peut être utilisé pour représenter des données dans un tableau.

Les tableaux sont sparse arrays, ce qui signifie qu’un élément peut occuper la position d’index 0 et un autre la position d’index 5, mais qu’aucun autre élément n’occupe une position comprise entre 0 et 5. Dans ce cas, les éléments compris entre la position 1 et la position 4 ne sont pas définis. Ce terme indique généralement l’absence d’un élément, plutôt que la présence d’un élément doté de la valeur undefined.

L’affectation au tableau s’effectue par référence plutôt que par valeur. lorsque vous affectez une variable de tableau à une autre variable de tableau, elles renvoient toutes deux au même tableau :

var oneArray:Array = new Array("a", "b", "c"); var twoArray:Array = oneArray; // Both array variables refer to the same array. twoArray[0] = "z"; trace(oneArray); // Output: z,b,c.

N’utilisez pas la classe Array pour créer des associative arrays (également appelés hashes), qui sont des structures de données qui contiennent des éléments nommés et non pas des éléments chiffrés. Pour créer des tableaux associatifs, utilisez la classe Object. Bien que ActionScript vous permette de créer des tableaux associatifs à l’aide de la classe Array, vous ne pouvez pas associer les méthodes ou les propriétés de cette dernière à un tableau associatif.

Vous pouvez étendre la classe Array et bloquer ou ajouter des méthodes. Vous devez cependant affecter à la sous-classe la propriété dynamic, sous peine de ne plus pouvoir stocker des données dans un tableau.

L’exemple suivant crée un nouvel objet Array, myArr, sans argument et avec une longueur initiale de 0 : package { import flash.display.Sprite; public class ArrayExample extends Sprite { public function ArrayExample() { var myArr:Array = new Array(); trace(myArr.length); // 0 } } }
[] (accès au tableau)Object, classeArray Permet de créer un tableau contenant le nombre spécifié d’éléments.L’argument est un nombre autre qu’un entier supérieur ou égal à 0. RangeErrorRangeErrorvaluesListe de deux valeurs arbitraires ou plus séparées par une virgule.

Remarque : si vous transmettez un paramètre numérique unique au constructeur Array, il est implicitement interprété comme la propriété length du tableau.

Permet de créer un tableau contenant le nombre spécifié d’éléments. Tous les types de valeurs sont pris en charge. La valeur de l’index (ou de la position) du premier élément d’un tableau est toujours 0.

Remarque : cette classe contient deux entrées de constructeur, car celui-ci gère les types variables d’arguments. Le constructeur se comporte différemment selon le type et le nombre d’arguments transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d’un constructeur.

L’exemple suivant crée un nouvel objet Array avec une longueur initiale de 3, remplit le tableau avec les éléments de type chaîne one, two et three, puis convertit ces éléments en une chaîne unique. package { import flash.display.Sprite; public class Array_Array_3 extends Sprite { public function Array_Array_3() { var myArr:Array = new Array("one", "two", "three"); trace(myArr.length); // 3 trace(myArr); // one,two,three } } }
[], accès au tableauArray.length
Array Permet de créer un tableau contenant le nombre spécifié d’éléments.L’argument est un nombre autre qu’un entier supérieur ou égal à 0. RangeErrorRangeErrornumElementsint0Un entier spécifiant le nombre d’éléments contenus dans le tableau. Permet de créer un tableau contenant le nombre spécifié d’éléments. Si vous ne spécifiez aucun paramètre, un tableau contenant 0 élément est créé. Si vous spécifiez un nombre d’éléments, le tableau créé contient le nombre d’éléments indiqué par numElements.

Remarque : cette classe contient deux entrées de méthode de constructeur, car le constructeur gère les types variables d’arguments. Le constructeur se comporte différemment selon le type et le nombre d’arguments transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d’un constructeur.

L’exemple suivant crée un objet Array, myArr, sans argument et avec une longueur initiale de 0 : package { import flash.display.Sprite; public class Array_Array extends Sprite { public function Array_Array() { var myArr:Array = new Array(); trace(myArr.length); // 0 } } } L’exemple suivant crée un objet Array avec 5 éléments initiaux, d’une longueur de 5, et remplit le premier élément avec la chaîne "one", puis ajoute l’élément de chaîne "six" à la fin du tableau en employant la méthode push() : package { import flash.display.Sprite; public class Array_Array_2 extends Sprite { public function Array_Array_2() { var myArr:Array = new Array(5); trace(myArr.length); // 5 myArr[0] = "one"; myArr.push("six"); trace(myArr); // one,,,,,six trace(myArr.length); // 6 } } }
[], accès au tableauArray.length
concat Concatène les éléments spécifiés dans les paramètres avec ceux contenus dans un tableau et crée un nouveau tableau.Tableau qui contient les éléments de ce tableau, suivis des éléments des paramètres. ArrayargsValeur de tout type (nombre, élément ou chaîne) à concaténer dans un nouveau tableau. Concatène les éléments spécifiés par les paramètres. Concatène les éléments spécifiés dans les paramètres avec ceux contenus dans un tableau et crée un nouveau tableau. Si les paramètres spécifient un tableau, les éléments correspondants sont concaténés. Si vous ne transmettez aucun paramètre, le nouveau tableau est une duplication (clone superficiel) du tableau d’origine. Le code suivant crée quatre objets Array :
  • Le tableau numbers, qui contient les nombres 1, 2 et 3.
  • Le tableau letters, qui contient les nombres a, b et c.
  • Le tableau numbersAndLetters, qui appelle la méthode concat() pour produire le tableau [1,2,3,a,b,c].
  • Le tableau lettersAndNumbers, qui appelle la méthode concat() pour produire le tableau [a,b,c,1,2,3].
var numbers:Array = new Array(1, 2, 3); var letters:Array = new Array("a", "b", "c"); var numbersAndLetters:Array = numbers.concat(letters); var lettersAndNumbers:Array = letters.concat(numbers); trace(numbers); // 1,2,3 trace(letters); // a,b,c trace(numbersAndLetters); // 1,2,3,a,b,c trace(lettersAndNumbers); // a,b,c,1,2,3
every Exécute une fonction de test sur chaque élément du tableau jusqu’à ce que l’un d’eux renvoie false pour la fonction spécifiée.Valeur booléenne true si tous les éléments du tableau renvoient true pour la fonction spécifiée, false dans tous les autres cas. BooleancallbackFunctionFonction à exécuter sur chaque élément du tableau. Cette fonction peut contenir une comparaison simple (item < 20, par exemple) ou une opération plus complexe et est appelée avec trois arguments, la valeur d’un élément, l’index de ce dernier et l’objet Array :
function callback(item:*, index:int, array:Array):Boolean;
thisObjectnullObjet à utiliser comme mot-clé this pour la fonction.
Exécute une fonction de test sur chaque élément du tableau jusqu’à ce que l’un d’eux renvoie false pour la fonction spécifiée. Cette méthode permet de déterminer si tous les éléments d’un tableau répondent à un critère défini, tel que des valeurs inférieures à un nombre spécifique.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. Supposons que vous créez une fonction dans un clip appelé me :

     function myFunction(obj:Object):void {
        //your code here
     }
     

Supposons que vous utilisiez ensuite la méthode every() sur un tableau appelé myArray :

     myArray.every(myFunction, me);
     

Etant donné que myFunction appartient à la classe Timeline, qui ne peut pas être remplacée par me, le moteur d’exécution de Flash renvoie une exception. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

     var myFunction:Function = function(obj:Object):void {
         //your code here
     };
     myArray.every(myFunction, me);
     
L’exemple suivant teste deux tableaux pour déterminer si tous les éléments de tous les tableaux sont numériques. Il renvoie également les résultats du test, qui indique que isNumeric est true pour le premier tableau et false pour le deuxième : package { import flash.display.Sprite; public class Array_every extends Sprite { public function Array_every() { var arr1:Array = new Array(1, 2, 4); var res1:Boolean = arr1.every(isNumeric); trace("isNumeric:", res1); // true var arr2:Array = new Array(1, 2, "ham"); var res2:Boolean = arr2.every(isNumeric); trace("isNumeric:", res2); // false } private function isNumeric(element:*, index:int, arr:Array):Boolean { return (element is Number); } } }
Array.some()
filter Exécute une fonction de test sur chaque élément du tableau et construit un nouveau tableau contenant tous les éléments qui renvoient true pour la fonction spécifiée.Nouveau tableau contenant tous les éléments du tableau d’origine qui ont renvoyé true. ArraycallbackFunctionFonction à exécuter sur chaque élément du tableau. Cette fonction peut contenir une comparaison simple (item < 20, par exemple) ou une opération plus complexe et est appelée avec trois arguments, la valeur d’un élément, l’index de ce dernier et l’objet Array :
    function callback(item:*, index:int, array:Array):Boolean;
thisObjectnullObjet à utiliser comme mot-clé this pour la fonction.
Exécute une fonction de test sur chaque élément du tableau et construit un nouveau tableau contenant tous les éléments qui renvoient true pour la fonction spécifiée. Si un élément renvoie false, il ne figure pas dans le nouveau tableau.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. Supposons que vous créez une fonction dans un clip appelé me :

     function myFunction(obj:Object):void {
        //your code here
     }
     

Supposons que vous utilisez ensuite la méthode filter() sur un tableau appelé myArray :

 
     myArray.filter(myFunction, me);
     

Etant donné que myFunction appartient à la classe Timeline, qui ne peut pas être remplacée par me, le moteur d’exécution de Flash renvoie une exception. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.filter(myFunction, me);
     
L’exemple suivant crée un tableau de tous les employés qui sont des responsables : package { import flash.display.Sprite; public class Array_filter extends Sprite { public function Array_filter() { var employees:Array = new Array(); employees.push({name:"Employee 1", manager:false}); employees.push({name:"Employee 2", manager:true}); employees.push({name:"Employee 3", manager:false}); trace("Employees:"); employees.forEach(traceEmployee); var managers:Array = employees.filter(isManager); trace("Managers:"); managers.forEach(traceEmployee); } private function isManager(element:*, index:int, arr:Array):Boolean { return (element.manager == true); } private function traceEmployee(element:*, index:int, arr:Array):void { trace("\t" + element.name + ((element.manager) ? " (manager)" : "")); } } }
Array.map()
forEach Exécute une fonction sur chaque élément du tableau.callbackFunctionFonction à exécuter sur chaque élément du tableau. Cette fonction peut contenir une commande simple (une instruction trace(), par exemple) ou une opération plus complexe et est appelée avec trois arguments, la valeur d’un élément, l’index de ce dernier et l’objet Array :
    function callback(item:*, index:int, array:Array):void;
thisObjectnullObjet à utiliser comme mot-clé this pour la fonction.
Exécute une fonction sur chaque élément du tableau.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. Supposons que vous créez une fonction dans un clip appelé me :

     function myFunction(obj:Object):void {
        //your code here
     }
     

Supposons que vous utilisiez ensuite la méthode forEach() sur un tableau appelé myArray :

     myArray.forEach(myFunction, me);
     

Etant donné que myFunction appartient à la classe Timeline, qui ne peut pas être remplacée par me, le moteur d’exécution de Flash renvoie une exception. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.forEach(myFunction, me);
     
L’exemple suivant exécute l’instruction trace() de la fonction traceEmployee() pour tous les éléments du tableau : package { import flash.display.Sprite; public class Array_forEach extends Sprite { public function Array_forEach() { var employees:Array = new Array(); employees.push({name:"Employee 1", manager:false}); employees.push({name:"Employee 2", manager:true}); employees.push({name:"Employee 3", manager:false}); trace(employees); employees.forEach(traceEmployee); } private function traceEmployee(element:*, index:int, arr:Array):void { trace(element.name + " (" + element.manager + ")"); } } } L’exemple suivant exécute également l’instruction trace() à l’aide d’une fonction traceEmployee() légèrement modifiée pour tous les éléments du tableau : package { import flash.display.Sprite; public class Array_forEach_2 extends Sprite { public function Array_forEach_2() { var employeeXML:XML = <employees> <employee name="Steven" manager="false" /> <employee name="Bruce" manager="true" /> <employee name="Rob" manager="false" /> </employees>; var employeesList:XMLList = employeeXML.employee; var employeesArray:Array = new Array(); for each (var tempXML:XML in employeesList) { employeesArray.push(tempXML); } employeesArray.sortOn("@name"); employeesArray.forEach(traceEmployee); } private function traceEmployee(element:*, index:Number, arr:Array):void { trace(element.@name + ((element.@manager == "true") ? " (manager)" : "")); } } }
indexOf Recherche un élément dans un tableau en utilisant l’opérateur d’égalité stricte (===) et renvoie la position d’index de l’élément.Position d’index commençant à zéro de l’élément du tableau. Si l’argument searchElement n’est pas détecté, la valeur renvoyée est -1. intsearchElementElément à trouver dans le tableau. fromIndexint0Emplacement à partir duquel débuter la recherche d’élément. Recherche un élément dans un tableau en utilisant l’opérateur d’égalité stricte (===) et renvoie la position d’index de l’élément. L’exemple suivant affiche la position du tableau spécifié : package { import flash.display.Sprite; public class Array_indexOf extends Sprite { public function Array_indexOf() { var arr:Array = new Array(123,45,6789); arr.push("123-45-6789"); arr.push("987-65-4321"); var index:int = arr.indexOf("123"); trace(index); // -1 var index2:int = arr.indexOf(123); trace(index2); // 0 } } } Array.lastIndexOf()=== (égalité stricte)join Convertit les éléments d’un tableau en chaînes, insère le séparateur spécifié entre les éléments, les concatène, puis renvoie la chaîne obtenue.Chaîne composée des éléments d’un tableau convertis en chaînes et séparés par le paramètre spécifié. StringsepunknownCaractère ou chaîne séparant les éléments du tableau dans la chaîne renvoyée. Si vous omettez ce paramètre, une virgule est utilisée en tant que séparateur par défaut. Convertit les éléments d’un tableau en chaînes. Convertit les éléments d’un tableau en chaînes, insère le séparateur spécifié entre les éléments, les concatène, puis renvoie la chaîne obtenue. Un tableau imbriqué est toujours séparé par une virgule (,) et non par le séparateur transmis à la méthode join(). Le code suivant crée un objet Array myArr avec les éléments one, two et three, puis une chaîne contenant one and two and three à l’aide de la méthode join(). var myArr:Array = new Array("one", "two", "three"); var myStr:String = myArr.join(" and "); trace(myArr); // one,two,three trace(myStr); // one and two and three Le code suivant crée un objet Array, specialChars, avec des éléments (, ), - et un espace blanc, puis crée une chaîne contenant (888) 867-5309. Ensuite, à l’aide d’une boucle for, il supprime tous les types de caractères spéciaux qui figurent dans la liste specialChars pour produire une chaîne (myStr) qui contient uniquement le numéro de téléphone restant : 888675309 . De plus, il est possible d’ajouter des caractères, tels que +, à la liste specialChars pour que la routine fonctionne avec les formats internationaux de numéro de téléphone. var phoneString:String = "(888) 867-5309"; var specialChars:Array = new Array("(", ")", "-", " "); var myStr:String = phoneString; var ln:uint = specialChars.length; for(var i:uint; i < ln; i++) { myStr = myStr.split(specialChars[i]).join(""); } var phoneNumber:Number = new Number(myStr); trace(phoneString); // (888) 867-5309 trace(phoneNumber); // 8888675309 String.split()lastIndexOf Recherche un élément dans un tableau en travaillant à rebours à partir du dernier élément et renvoie la position d’index de l’élément correspondant en utilisant l’opérateur d’égalité stricte (===).Position d’index commençant à zéro de l’élément du tableau. Si l’argument searchElement n’est pas détecté, la valeur renvoyée est -1. intsearchElementElément à trouver dans le tableau. fromIndexint0x7fffffffEmplacement à partir duquel débuter la recherche d’élément. La valeur par défaut correspond à la valeur maximale autorisée d’un index. Si vous ne spécifiez pas fromIndex, la recherche débute par le dernier élément du tableau. Recherche un élément dans un tableau en travaillant à rebours à partir du dernier élément et renvoie la position d’index de l’élément correspondant en utilisant l’opérateur d’égalité stricte (===). L’exemple suivant affiche la position du tableau spécifié : package { import flash.display.Sprite; public class Array_lastIndexOf extends Sprite { public function Array_lastIndexOf() { var arr:Array = new Array(123,45,6789,123,984,323,123,32); var index:int = arr.indexOf(123); trace(index); // 0 var index2:int = arr.lastIndexOf(123); trace(index2); // 6 } } } Array.indexOf()=== (égalité stricte)map Exécute une fonction sur les éléments d’un tableau et construit un nouveau tableau en fonction des résultats de la fonction appliquée à chaque élément du tableau d’origine.Nouveau tableau composé des résultats de la fonction appliquée à chaque élément du tableau d’origine. ArraycallbackFunctionFonction à exécuter sur chaque élément du tableau. Cette fonction peut contenir une commande simple (la modification de la casse des chaînes d’un tableau, par exemple) ou une opération plus complexe et est appelée avec trois arguments, la valeur d’un élément, l’index de ce dernier et l’objet Array :
    function callback(item:*, index:int, array:Array):String;
thisObjectnullObjet à utiliser comme mot-clé this pour la fonction.
Exécute une fonction sur les éléments d’un tableau et construit un nouveau tableau en fonction des résultats de la fonction appliquée à chaque élément du tableau d’origine.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. Supposons que vous créez une fonction dans un clip appelé me :

     function myFunction(obj:Object):void {
        //your code here
     }
     

Supposons que vous utilisiez ensuite la méthode map() sur un tableau appelé myArray :

     myArray.map(myFunction, me);
     

Etant donné que myFunction appartient à la classe Timeline, qui ne peut pas être remplacée par me, le moteur d’exécution de Flash renvoie une exception. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.map(myFunction, me);
     
L’exemple suivant modifie tous les éléments du tableau pour obtenir des lettres en majuscules : package { import flash.display.Sprite; public class Array_map extends Sprite { public function Array_map() { var arr:Array = new Array("one", "two", "Three"); trace(arr); // one,two,Three var upperArr:Array = arr.map(toUpper); trace(upperArr); // ONE,TWO,THREE } private function toUpper(element:*, index:int, arr:Array):String { return String(element).toUpperCase(); } } }
Array.filter()
pop Supprime le dernier élément d’un tableau et renvoie la valeur de cet élément.Valeur du dernier élément (de tout type de données) dans le tableau spécifié. Supprime le dernier élément d’un tableau et renvoie la valeur de cet élément. Le code suivant crée un objet Array, letters, avec les éléments a, b et c. Le dernier élément (c) est ensuite supprimé du tableau à l’aide de la méthode pop() et affecté ensuite à l’objet String, letter. var letters:Array = new Array("a", "b", "c"); trace(letters); // a,b,c var letter:String = letters.pop(); trace(letters); // a,b trace(letter); // c Array.push()Array.shift()Array.unshift()push Ajoute un ou plusieurs éléments à la fin d’un tableau et renvoie la nouvelle longueur du tableau.Entier représentant la longueur du nouveau tableau. uintargsUne ou plusieurs valeurs à ajouter au tableau. Ajoute un ou plusieurs éléments à la fin d’un tableau et renvoie la nouvelle longueur du tableau. Le code suivant crée un objet Array vide, letters, puis le remplit avec les éléments a, b et c à l’aide de la méthode push(). var letters:Array = new Array(); letters.push("a"); letters.push("b"); letters.push("c"); trace(letters.toString()); // a,b,c Le code suivant crée un objet Array, letters, qui est rempli en premier lieu avec l’élément a. La méthode push() est ensuite utilisée une fois pour ajouter les éléments b et c à la fin du tableau, soit trois éléments après l’application de la fonction push. var letters:Array = new Array("a"); var count:uint = letters.push("b", "c"); trace(letters); // a,b,c trace(count); // 3 Array.pop()Array.shift()Array.unshift()reverse Inverse le tableau.Nouveau tableau. Array Inverse le tableau. Le code suivant crée un objet Array, letters, avec les éléments a, b et c. L’ordre des éléments du tableau est ensuite inversé à l’aide de la méthode reverse() pour produire le tableau [c,b,a]. var letters:Array = new Array("a", "b", "c"); trace(letters); // a,b,c letters.reverse(); trace(letters); // c,b,a shift Supprime le premier élément d’un tableau et renvoie cet élément.Premier élément (de tout type de données) d’un tableau. Supprime le premier élément d’un tableau et renvoie cet élément. Les éléments restants du tableau sont décalés de leur position d’origine, i, vers i-1. Le code suivant crée un objet Array, letters, avec les éléments a, b et c. La méthode shift() est ensuite utilisée pour supprimer le premier élément (a) dans letters et l’affecte ensuite à la chaîne firstLetter. var letters:Array = new Array("a", "b", "c"); var firstLetter:String = letters.shift(); trace(letters); // b,c trace(firstLetter); // a Array.pop()Array.push()Array.unshift()slice Renvoie un nouveau tableau constitué d’un éventail d’éléments issus du tableau d’origine, sans modifier ce dernier.Tableau constitué d’un éventail d’éléments issus du tableau d’origine. ArraystartIndexint0Nombre spécifiant l’index du point de départ pour la découpe. Si startIndex est un nombre négatif, le point de départ se trouve à la fin du tableau, où la valeur -1 est le dernier élément. endIndexint16777215Nombre spécifiant l’index du point d’arrivée pour la découpe. Si vous omettez ce paramètre, la découpe inclut tous les éléments du point de départ à la fin du tableau. Si endIndex est un nombre négatif, le point d’arrivée spécifié se trouve à la fin du tableau, où la valeur -1 est le dernier élément. Renvoie un nouveau tableau constitué d’un éventail d’éléments issus du tableau d’origine. Renvoie un nouveau tableau constitué d’un éventail d’éléments issus du tableau d’origine, sans modifier ce dernier. Le tableau renvoyé inclut l’élément startIndex et tous les éléments, excepté l’élément endIndex.

Si vous ne transmettez aucun paramètre, le nouveau tableau est une duplication (clone superficiel) du tableau d’origine.

Le code suivant crée un objet Array, letters, avec les éléments [a,b,c,d,e,f]. Le tableau someLetters est ensuite créé en appelant la méthode slice() sur les éléments un (b) à trois (d), ce qui résulte en un tableau avec les éléments b et c. var letters:Array = new Array("a", "b", "c", "d", "e", "f"); var someLetters:Array = letters.slice(1,3); trace(letters); // a,b,c,d,e,f trace(someLetters); // b,c Le code suivant crée un objet Array letters avec les éléments [a,b,c,d,e,f]. Le tableau someLetters est ensuite créé en appelant la méthode slice() sur l’élément deux (c), ce qui résulte en un tableau avec des éléments [c,d,e,f]. var letters:Array = new Array("a", "b", "c", "d", "e", "f"); var someLetters:Array = letters.slice(2); trace(letters); // a,b,c,d,e,f trace(someLetters); // c,d,e,f Le code suivant crée un objet Array, letters, avec les éléments [a,b,c,d,e,f]. Le tableau someLetters est ensuite créé en appelant la méthode slice() du deuxième au dernier élément à partir de la fin (e), ce qui résulte en un tableau avec les éléments e et f. var letters:Array = new Array("a", "b", "c", "d", "e", "f"); var someLetters:Array = letters.slice(-2); trace(letters); // a,b,c,d,e,f trace(someLetters); // e,f
some Exécute une fonction de test sur chaque élément du tableau jusqu’à ce que l’un d’eux renvoie true.Valeur booléenne true si un élément du tableau renvoie true pour la fonction spécifiée, false dans tous les autres cas. BooleancallbackFunctionFonction à exécuter sur chaque élément du tableau. Cette fonction peut contenir une comparaison simple (item < 20, par exemple) ou une opération plus complexe et est appelée avec trois arguments, la valeur d’un élément, l’index de ce dernier et l’objet Array :
    function callback(item:*, index:int, array:Array):Boolean;
thisObjectnullObjet à utiliser comme mot-clé this pour la fonction.
Exécute une fonction de test sur chaque élément du tableau jusqu’à ce que l’un d’eux renvoie true. Cette méthode vous permet de déterminer si un élément de tableau répond au critère défini, tel qu’une valeur inférieure à un nombre spécifique.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. Supposons que vous créez une fonction dans un clip appelé me :

     function myFunction(obj:Object):void {
        //your code here
     }
     

Supposons que vous utilisiez ensuite la méthode some() sur un tableau appelé myArray :

     myArray.some(myFunction, me);
     

Etant donné que myFunction appartient à la classe Timeline, qui ne peut pas être remplacée par me, le moteur d’exécution de Flash renvoie une exception. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.some(myFunction, me);
     
L’exemple suivant affiche les valeurs qui ne sont pas définies : package { import flash.display.Sprite; public class Array_some extends Sprite { public function Array_some() { var arr:Array = new Array(); arr[0] = "one"; arr[1] = "two"; arr[3] = "four"; var isUndef:Boolean = arr.some(isUndefined); if (isUndef) { trace("array contains undefined values: " + arr); } else { trace("array contains no undefined values."); } } private function isUndefined(element:*, index:int, arr:Array):Boolean { return (element == undefined); } } }
every()
sortOn Trie les éléments d’un tableau selon un ou plusieurs champs du tableau.La valeur renvoyée varie selon que vous transmettez ou non des paramètres :
  • Si vous spécifiez une valeur de 4 ou Array.UNIQUESORT pour le paramètre options et si au moins deux éléments triés ont des champs de tri identiques, la valeur 0 est renvoyée et le tableau n’est pas modifié.
  • Si vous spécifiez une valeur de 8 ou Array.RETURNINDEXEDARRAY pour le paramètre options, un tableau qui reflète les résultats du tri est renvoyé et le tableau n’est pas modifié.
  • Dans le cas contraire, Flash ne renvoie rien et modifie le tableau pour refléter l’ordre de tri.
Array
fieldNameObjectChaîne identifiant un champ à utiliser en tant que valeur de tri ou un tableau dans lequel le premier élément représente le champ de tri principal, le deuxième le champ de tri secondaire, etc. optionsObjectnullUn ou plusieurs nombres ou noms de constantes définies, séparés par l’opérateur bitwise OR (|), qui modifient le comportement de tri. Les valeurs suivantes sont valides pour le paramètre options :
  • Array.CASEINSENSITIVE ou 1
  • Array.DESCENDING ou 2
  • Array.UNIQUESORT ou 4
  • Array.RETURNINDEXEDARRAY ou 8
  • Array.NUMERIC ou 16.

Les conseils de code sont activés si vous utilisez le format chaîne de l’indicateur (par exemple, DESCENDING) au lieu du format numérique (2).

Trie les éléments d’un tableau selon un ou plusieurs champs du tableau. Le tableau doit être doté des caractéristiques suivantes :
  • Le tableau est indexé et non associatif.
  • Chaque élément du tableau contient un objet doté d’une ou de plusieurs propriétés.
  • Tous les objets ont au moins une propriété en commun dont les valeurs peuvent être utilisées pour trier le tableau. Ce type de propriété est connu sous le nom de field.

Si vous transmettez plusieurs paramètres fieldName, le premier champ représente le champ de tri principal, le deuxième représente le champ de tri suivant, etc. Flash trie selon les valeurs Unicode (ASCII est un sous-ensemble de Unicode). Si l’un des éléments comparés ne contient pas le champ spécifié dans le paramètre fieldName, le champ est considéré comme étant réglé sur undefined et les éléments sont placés de manière consécutive dans le tableau trié dans un ordre quelconque.

Par défaut, Array.sortOn() fonctionne de la façon suivante :

  • Le tri tient compte de la casse (Z précède a).
  • Le tri est ascendant (a précède b).
  • Le tableau est modifié afin de refléter l’ordre de tri ; les éléments multiples dont les champs de tri sont identiques sont placés consécutivement dans le tableau trié dans un ordre quelconque.
  • Les champs numériques sont triés comme s’il s’agissait de chaînes : ainsi, 100 précède 99 car « 1 » est une valeur de chaîne inférieure à « 9 ».

Flash Player 7 a ajouté le paramètre options, que vous pouvez utiliser pour annuler le comportement de tri par défaut. Pour trier un tableau simple (par exemple, un tableau contenant un seul champ) ou pour spécifier un ordre de tri non pris en charge par le paramètre options, utilisez Array.sort().

Pour définir plusieurs indicateurs, séparez-les à l’aide de l’opérateur OR (|) au niveau du bit :

my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);

La fonctionnalité ajoutée à Flash Player 8 permet de spécifier une option de tri différente pour chaque champ lors d’un tri selon plusieurs champs. Dans Flash Player 8 et les versions ultérieures, le paramètre options accepte un tableau d’options de tri de telle sorte que chaque option de tri correspond à un champ de tri dans le paramètre fieldName. L’exemple suivant trie le champ de tri principal, a, selon un tri décroissant, le deuxième champ de tri, b, selon un tri numérique et le troisième champ de tri, c, selon un tri non sensible à la casse :

Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);

Remarque : les tableaux fieldName et options doivent contenir le même nombre d’éléments ; sinon, le tableau options est ignoré. En outre, les options Array.UNIQUESORT et Array.RETURNINDEXEDARRAY ne peuvent être utilisées qu’en tant que premier élément du tableau, sinon elles sont ignorées.

Le code suivant crée un objet Array vide, vegetables. Le tableau est ensuite rempli par cinq appels à la fonction push(). A chaque fois que push() est appelé, un nouvel objet Vegetable est créé par un appel au constructeur Vegetable(), qui accepte un objet de type chaîne (name) et un autre de type numérique (price). Cinq appels consécutifs de la fonction push() avec les valeurs indiquées produisent le tableau suivant : [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. La méthode sortOn() est ensuite utilisée avec le paramètre name pour produire le tableau suivant : [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]. La méthode sortOn() est ensuite appelée à nouveau avec le paramètre price et les constantes NUMERIC et DESCENDING pour produire un tableau trié de façon numérique en ordre décroissant : [asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29]. var vegetables:Array = new Array(); vegetables.push(new Vegetable("lettuce", 1.49)); vegetables.push(new Vegetable("spinach", 1.89)); vegetables.push(new Vegetable("asparagus", 3.99)); vegetables.push(new Vegetable("celery", 1.29)); vegetables.push(new Vegetable("squash", 1.44)); trace(vegetables); // lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44 vegetables.sortOn("name"); trace(vegetables); // asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44 vegetables.sortOn("price", Array.NUMERIC | Array.DESCENDING); trace(vegetables); // asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29 class Vegetable { public var name:String; public var price:Number; public function Vegetable(name:String, price:Number) { this.name = name; this.price = price; } public function toString():String { return " " + name + ":" + price; } } Le code suivant crée un objet Array vide, records. Le tableau est ensuite rempli par trois appels à la fonction push(). Lorsque push() est appelé, les chaînes name et city, ainsi que le numéro zip sont ajoutés à records. Trois boucles for sont utilisées pour imprimer les éléments du tableau. La première boucle for imprime les éléments dans leur ordre d’insertion. La deuxième boucle for s’exécute après le tri de records en fonction de « name », puis de « city » à l’aide de la méthode sortOn(). La troisième boucle for a un résultat différent dans la mesure où records est trié de nouveau en fonction « city », puis « name ». var records:Array = new Array(); records.push({name:"john", city:"omaha", zip:68144}); records.push({name:"john", city:"kansas city", zip:72345}); records.push({name:"bob", city:"omaha", zip:94010}); for(var i:uint = 0; i < records.length; i++) { trace(records[i].name + ", " + records[i].city); } // Results: // john, omaha // john, kansas city // bob, omaha trace("records.sortOn('name', 'city');"); records.sortOn(["name", "city"]); for(var i:uint = 0; i < records.length; i++) { trace(records[i].name + ", " + records[i].city); } // Results: // bob, omaha // john, kansas city // john, omaha trace("records.sortOn('city', 'name');"); records.sortOn(["city", "name"]); for(var i:uint = 0; i < records.length; i++) { trace(records[i].name + ", " + records[i].city); } // Results: // john, kansas city // bob, omaha // john, omaha Le code suivant crée un objet Array vide, users. Le tableau est ensuite rempli par quatre appels à la fonction push(). Lorsque push() est appelée, un objet User est créé à l’aide du constructeur User(), puis la chaîne name et l’uint age sont ajoutés aux utilisateurs. Le tableau suivant en résulte [Bob:3,barb:35,abcd:3,catchy:4].

Ce tableau est ensuite trié des façons suivantes :

  1. Par nom uniquement, pour obtenir [Bob:3,barb:35,abcd:3,catchy:4].
  2. Par nom uniquement et avec la constante CASEINSENSITIVE, pour obtenir le tableau [abcd:3,barb:35,Bob:3,catchy:4].
  3. Par nom uniquement et avec les constantes CASEINSENSITIVE et DESCENDING, pour obtenir le tableau [catchy:4,Bob:3,barb:35,abcd:3].
  4. Par nom uniquement, pour obtenir le tableau [abcd:3,Bob:3,barb:35,catchy:4].
  5. Par nom uniquement et avec la constante NUMERIC, pour obtenir le tableau [Bob:3,abcd:3,catchy:4,barb:35].
  6. Par nom uniquement et avec les constantes CASEINSENSITIVE et NUMERIC, pour obtenir le tableau [barb:35,catchy:4,Bob:3,abcd:3].

Un tableau appelé indices est ensuite créé et reçoit les résultats du tri en fonction de l’âge et avec les constantes NUMERIC et RETURNINDEXEDARRAY, ce qui produit le tableau [Bob:3,abcd:3,catchy:4,barb:35], qui est ensuite imprimé avec une boucle for.

class User { public var name:String; public var age:Number; public function User(name:String, age:uint) { this.name = name; this.age = age; } public function toString():String { return this.name + ":" + this.age; } } var users:Array = new Array(); users.push(new User("Bob", 3)); users.push(new User("barb", 35)); users.push(new User("abcd", 3)); users.push(new User("catchy", 4)); trace(users); // Bob:3,barb:35,abcd:3,catchy:4 users.sortOn("name"); trace(users); // Bob:3,abcd:3,barb:35,catchy:4 users.sortOn("name", Array.CASEINSENSITIVE); trace(users); // abcd:3,barb:35,Bob:3,catchy:4 users.sortOn("name", Array.CASEINSENSITIVE | Array.DESCENDING); trace(users); // catchy:4,Bob:3,barb:35,abcd:3 users.sortOn("age"); trace(users); // abcd:3,Bob:3,barb:35,catchy:4 users.sortOn("age", Array.NUMERIC); trace(users); // Bob:3,abcd:3,catchy:4,barb:35 users.sortOn("age", Array.DESCENDING | Array.NUMERIC); trace(users); // barb:35,catchy:4,Bob:3,abcd:3 var indices:Array = users.sortOn("age", Array.NUMERIC | Array.RETURNINDEXEDARRAY); var index:uint; for(var i:uint = 0; i < indices.length; i++) { index = indices[i]; trace(users[index].name, ": " + users[index].age); } // Results: // Bob : 3 // abcd : 3 // catchy : 4 // barb : 35
| (OR au niveau du bit)Array.sort()
sort Trie les éléments d’un tableau.La valeur renvoyée varie selon que vous transmettez ou non des arguments, comme décrit dans la liste suivante :
  • Si vous spécifiez la valeur 4 ou Array.UNIQUESORT pour l’argument sortOptions du paramètre ...args et si au moins deux éléments triés possèdent des champs de tri identiques, Flash renvoie la valeur 0 et ne modifie pas le tableau.
  • Si vous spécifiez la valeur 8 ou Array.RETURNINDEXEDARRAY pour l’argument sortOptions du paramètre ...args, Flash renvoie un tableau numérique trié des index qui reflète les résultats du tri et ne modifie pas le tableau.
  • Dans le cas contraire, Flash ne renvoie rien et modifie le tableau pour refléter l’ordre de tri.
Array
argsLes arguments spécifiant une fonction de comparaison et une ou plusieurs valeurs qui déterminent le comportement du tri.

Cette méthode utilise la syntaxe et l’ordre des arguments de Array.sort(compareFunction, sortOptions), ces derniers étant définis comme suit :

  • compareFunction - Fonction de comparaison utilisée pour déterminer l’ordre de tri des éléments d’un tableau. Cet argument est facultatif. Une fonction de comparaison gère deux arguments utilisés pour la comparaison. Etant donné les éléments A et B, le résultat de compareFunction peut être l’une des trois valeurs suivantes : négative, 0 ou positive.
    • Une valeur renvoyée négative indique que A apparaît avant B dans la séquence triée.
    • Une valeur renvoyée de 0 indique que A et B possèdent le même ordre de tri.
    • Une valeur renvoyée positive indique que A apparaît après B dans la séquence triée.
  • sortOptions - Un ou plusieurs nombres ou constantes définies, séparés par l’opérateur OR | au niveau du bit, qui modifient le comportement de tri par défaut. Cet argument est facultatif. Les valeurs suivantes sont valides pour sortOptions :
    • 1 ou Array.CASEINSENSITIVE
    • 2 ou Array.DESCENDING
    • 4 ou Array.UNIQUESORT
    • 8 ou Array.RETURNINDEXEDARRAY
    • 16 ou Array.NUMERIC
    Pour plus d’informations, voir la méthode Array.sortOn().
Trie les éléments d’un tableau. Cette méthode trie selon les valeurs Unicode (ASCII est un sous-ensemble de Unicode).

Par défaut, Array.sort() fonctionne de la façon suivante :

  • Le tri tient compte de la casse (Z précède a).
  • Le tri est ascendant (a précède b).
  • Le tableau est modifié afin de refléter l’ordre de tri ; les éléments multiples dont les champs de tri sont identiques sont placés consécutivement dans le tableau trié dans un ordre quelconque.
  • Tous les éléments, quel que soit leur type de données, sont triés comme s’il s’agissait de chaînes : ainsi, 100 précède 99 car « 1 » est une valeur de chaîne inférieure à « 9 ».

Pour trier un tableau à l’aide de réglages autres que les réglages par défaut, vous pouvez utiliser l’une des options de tri décrites dans la section sortOptions de la description du paramètre ...args ou vous pouvez créer une fonction personnalisée. Si vous créez une fonction personnalisée, vous pouvez appeler la méthode sort() et utiliser le nom de votre fonction personnalisée en tant que premier argument (compareFunction).

Le code suivant crée un objet Array, vegetables, avec les éléments suivants [spinach, green pepper, cilantro, onion, avocado]. Le tableau est ensuite trié en fonction de la méthode sort(), qui est appelée sans paramètres. Le résultat est que vegetables est trié par ordre alphabétique ([avocado, cilantro, green pepper, onion, spinach]). var vegetables:Array = new Array("spinach", "green pepper", "cilantro", "onion", "avocado"); trace(vegetables); // spinach,green pepper,cilantro,onion,avocado vegetables.sort(); trace(vegetables); // avocado,cilantro,green pepper,onion,spinach Le code suivant crée un objet Array, vegetables, avec les éléments suivants [spinach, green pepper, Cilantro, Onion et Avocado]. Le tableau est ensuite trié avec la méthode sort(), qui est appelée sans paramètres pour la première fois. Le résultat en est [Avocado,Cilantro,Onion,green pepper,spinach]. La fonction sort() est ensuite appelée à nouveau sur vegetables et utilise la constante CASEINSENSITIVE en tant que paramètre. Le résultat est que vegetables est trié par ordre alphabétique ([Avocado, Cilantro, green pepper, Onion, spinach]). var vegetables:Array = new Array("spinach", "green pepper", "Cilantro", "Onion", "Avocado"); vegetables.sort(); trace(vegetables); // Avocado,Cilantro,Onion,green pepper,spinach vegetables.sort(Array.CASEINSENSITIVE); trace(vegetables); // Avocado,Cilantro,green pepper,Onion,spinach Le code suivant crée un objet Array vide, vegetables, qui est ensuite rempli par cinq appels à la fonction push(). A chaque fois que push() est appelé, un nouvel objet Vegetable est créé par un appel au constructeur Vegetable(), qui accepte un objet de type chaîne (name) et un autre de type numérique (price). Cinq appels consécutifs de la fonction push() avec les valeurs indiquées produisent le tableau suivant : [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]. La méthode sort() est ensuite utilisée pour trier le tableau, ce qui produit le tableau [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]. var vegetables:Array = new Array(); vegetables.push(new Vegetable("lettuce", 1.49)); vegetables.push(new Vegetable("spinach", 1.89)); vegetables.push(new Vegetable("asparagus", 3.99)); vegetables.push(new Vegetable("celery", 1.29)); vegetables.push(new Vegetable("squash", 1.44)); trace(vegetables); // lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44 vegetables.sort(); trace(vegetables); // asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44 //The following code defines the Vegetable class class Vegetable { private var name:String; private var price:Number; public function Vegetable(name:String, price:Number) { this.name = name; this.price = price; } public function toString():String { return " " + name + ":" + price; } } L’exemple suivant est rigoureusement identique au précédent, à la différence que la méthode sort() est utilisée avec une fonction de tri personnalisée (sortOnPrice), qui effectue le tri en fonction du prix et non pas par ordre alphabétique. Vous pouvez constater que la nouvelle fonction, getPrice(), extrait le prix. var vegetables:Array = new Array(); vegetables.push(new Vegetable("lettuce", 1.49)); vegetables.push(new Vegetable("spinach", 1.89)); vegetables.push(new Vegetable("asparagus", 3.99)); vegetables.push(new Vegetable("celery", 1.29)); vegetables.push(new Vegetable("squash", 1.44)); trace(vegetables); // lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44 vegetables.sort(sortOnPrice); trace(vegetables); // celery:1.29, squash:1.44, lettuce:1.49, spinach:1.89, asparagus:3.99 function sortOnPrice(a:Vegetable, b:Vegetable):Number { var aPrice:Number = a.getPrice(); var bPrice:Number = b.getPrice(); if(aPrice > bPrice) { return 1; } else if(aPrice < bPrice) { return -1; } else { //aPrice == bPrice return 0; } } // The following code defines the Vegetable class and should be in a separate package. class Vegetable { private var name:String; private var price:Number; public function Vegetable(name:String, price:Number) { this.name = name; this.price = price; } public function getPrice():Number { return price; } public function toString():String { return " " + name + ":" + price; } } Le code suivant crée un objet Array, numbers, avec les éléments [3,5,100,34,10]. Tout appel sans paramètre à la fonction sort() produirait un résultat indésirable [10,100,3,34,5]. Afin de trier correctement les valeurs numériques, vous devez transmettre la constante NUMERIC à la méthode sort(), qui trie numbers de la façon suivante : [3,5,10,34,100] .

Remarque : Le comportement par défaut de la fonction sort() traite chaque entité comme une chaîne. Si vous utilisez l’argument Array.NUMERIC, le moteur d’exécution de Flash tente de convertir les valeurs non numériques en entiers à des fins de tri. Si cette opération échoue, le moteur d’exécution renvoie une erreur. Par exemple, le moteur d’exécution peut convertir correctement une valeur de chaîne de "6" en nombre entier, mais renvoie une erreur s’il rencontre une valeur de chaîne de "six".

var numbers:Array = new Array(3,5,100,34,10); trace(numbers); // 3,5,100,34,10 numbers.sort(); trace(numbers); // 10,100,3,34,5 numbers.sort(Array.NUMERIC); trace(numbers); // 3,5,10,34,100
| (OR au niveau du bit)Array.sortOn()
splice Ajoute et supprime des éléments dans un tableau.Tableau contenant les éléments supprimés du tableau d’origine. ArraystartIndexintEntier spécifiant l’index de la position d’insertion ou de suppression de l’élément dans le tableau. Vous pouvez utiliser un entier négatif pour définir une position par rapport à la fin du tableau (par exemple, la valeur -1 représente le dernier élément du tableau). deleteCountuintEntier spécifiant le nombre d’éléments à supprimer. Ce nombre inclut l’élément spécifié dans le paramètre startIndex. Si vous ne spécifiez pas de valeur pour le paramètre deleteCount, la méthode supprime toutes les valeurs comprises entre l’élément startIndex et le dernier élément du tableau. Si la valeur est 0, aucun élément n’est supprimé. valuesListe facultative d’une ou de plusieurs valeurs séparées par une virgule à insérer dans le tableau à la position spécifiée par le paramètre startIndex. Si une valeur insérée est de type Array, le tableau est maintenu intact et inséré comme élément unique. Par exemple, si vous joignez un tableau de longueur trois à un autre tableau de longueur trois, le tableau qui en résulte ne comporte que quatre éléments. l’un des éléments est toutefois un tableau de longueur trois. Ajoute et supprime des éléments dans un tableau. Cette méthode modifie le tableau sans faire de copie.

Remarque : pour annuler cette méthode dans une sous-classe de Array, utilisez ...args pour les paramètres, comme indiqué dans l’exemple ci-dessous :

     public override function splice(...args) {
       // your statements here
     }
     
Le code suivant crée un objet Array, vegetables, avec les éléments suivants [spinach, green pepper, cilantro, onion, avocado]. La méthode splice() est ensuite appelée avec les paramètres 2 et 2, qui affecte cilantro et onion au tableau spliced. Le tableau vegetables contient ensuite [spinach,green pepper,avocado]. La méthode splice() est appelée une deuxième fois avec les paramètres 1, 0 et le tableau spliced pour affecter [cilantro,onion] en tant que deuxième élément dans vegetables. var vegetables:Array = new Array("spinach", "green pepper", "cilantro", "onion", "avocado"); var spliced:Array = vegetables.splice(2, 2); trace(vegetables); // spinach,green pepper,avocado trace(spliced); // cilantro,onion vegetables.splice(1, 0, spliced); trace(vegetables); // spinach,cilantro,onion,green pepper,avocado Vous pouvez alors constater que cilantro et onion renvoient des résultats qui laissent entendre que vegetables comporte 5 éléments, alors que cet objet n’en comporte que quatre (et le deuxième élément est en fait un tableau qui contient deux éléments). Pour ajouter cilantro et onion de façon individuelle, utilisez : var vegetables:Array = new Array("spinach", "green pepper", "cilantro", "onion", "avocado"); var spliced:Array = vegetables.splice(2, 2); trace(vegetables); // spinach,green pepper,avocado trace(spliced); // cilantro,onion vegetables.splice(1, 0, "cilantro", "onion"); trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
toLocaleString Renvoie une chaîne représentant les éléments du tableau spécifié.Chaîne d’éléments de tableau. String Renvoie une chaîne représentant les éléments du tableau spécifié. Chaque élément du tableau, de la position d’index 0 à la position d’index la plus élevée, est converti en chaîne concaténée et séparé par des virgules. Dans l’implémentation d’ActionScript 3.0, cette méthode renvoie la même valeur que la méthode Array.toString(). Array.toString()toString Renvoie une chaîne représentant les éléments du tableau spécifié.Chaîne d’éléments de tableau. String Renvoie une chaîne représentant les éléments du tableau spécifié. Chaque élément du tableau, de la position d’index 0 à la position d’index la plus élevée, est converti en chaîne concaténée et séparé par des virgules. Pour spécifier un séparateur personnalisé, utilisez la méthode Array.join(). Le code suivant crée un tableau, convertit les valeurs en chaînes, puis les stocke dans la variable vegnums du type de données String. var vegetables:Array = new Array(); vegetables.push(1); vegetables.push(2); vegetables.push(3); vegetables.push(4); vegetables.push(5); var vegnums:String = vegetables.toString(); trace(vegnums+",6"); // 1,2,3,4,5,6 String.split()Array.join()unshift Ajoute un ou plusieurs éléments au début d’un tableau et renvoie la nouvelle longueur du tableau.Entier représentant la nouvelle longueur du tableau. uintargsUn ou plusieurs nombres, éléments ou variables à insérer au début du tableau. Ajoute un ou plusieurs éléments au début d’un tableau et renvoie la nouvelle longueur du tableau. Les autres éléments du tableau sont décalés de leur position d’origine, i, vers i+1. Le code suivant crée un objet Array vide, names. Les chaînes Bill et Jeff sont ajoutées à la méthode push(), puis les chaînes Alfred et Kyle sont ajoutées au début de ces noms au moyen de deux appels à la méthode unshift(). var names:Array = new Array(); names.push("Bill"); names.push("Jeff"); trace(names); // Bill,Jeff names.unshift("Alfred"); names.unshift("Kyle"); trace(names); // Kyle,Alfred,Bill,Jeff Array.pop()Array.push()Array.shift()CASEINSENSITIVE Spécifie un tri sans respect de la casse pour les méthodes de tri de la classe Array.1uint Spécifie un tri sans respect de la casse pour les méthodes de tri de la classe Array. Vous pouvez utiliser cette constante pour le paramètre options de la méthode sort() ou sortOn().

La valeur de cette constante est 1.

Array.sort()Array.sortOn()
DESCENDING Spécifie un tri par ordre décroissant pour les méthodes de tri de la classe Array.2uint Spécifie un tri par ordre décroissant pour les méthodes de tri de la classe Array. Vous pouvez utiliser cette constante pour le paramètre options de la méthode sort() ou sortOn().

La valeur de cette constante est 2.

Array.sort()Array.sortOn()
NUMERIC Spécifie un tri numérique (et non de type chaîne de caractères) pour les méthodes de tri de la classe Array.16uint Spécifie un tri numérique (et non de type chaîne de caractères) pour les méthodes de tri de la classe Array. Si vous incluez cette constante au paramètre options, les méthodes sort() et sortOn() sont obligées de trier les nombres en tant que valeurs numériques, et non en tant que chaînes de caractères numériques. Si vous ne spécifiez pas la constante NUMERIC, le tri traite chaque élément de tableau en tant que chaîne de caractères et donne les résultats selon l’ordre Unicode.

Supposons par exemple que vous disposez du tableau de valeurs [2005, 7, 35]. Si la constante NUMERIC n’est pas incluse dans le paramètre options, le tableau trié correspond à [2005, 35, 7], mais si la constante NUMERIC est incluse, le tableau trié correspond à [7, 35, 2005].

Cette constante s’applique uniquement aux nombres contenus dans le tableau ; elle ne s’applique pas aux chaînes qui contiennent des données numériques telles que ["23", "5"].

La valeur de cette constante est 16.

Array.sort()Array.sortOn()
RETURNINDEXEDARRAY Spécifie que le tri renvoie un tableau composé d’index de tableau.8uint Spécifie que le tri renvoie un tableau composé d’index de tableau. Vous pouvez utiliser cette constante dans le paramètre options de la méthode sort() ou sortOn(), afin de disposer de plusieurs vues des éléments du tableau sans modifier le tableau d’origine.

La valeur de cette constante est 8.

Array.sort()Array.sortOn()
UNIQUESORT Spécifie le critère de tri unique pour les méthodes de tri de la classe Array.4uint Spécifie le critère de tri unique pour les méthodes de tri de la classe Array. Vous pouvez utiliser cette constante pour le paramètre options de la méthode sort() ou sortOn(). L’option de tri unique met fin au tri si deux éléments ou champs triés ont des valeurs identiques.

La valeur de cette constante est 4.

Array.sort()Array.sortOn()
length Entier non négatif spécifiant le nombre d’éléments contenus dans le tableau.uint Entier non négatif spécifiant le nombre d’éléments contenus dans le tableau. Cette propriété est automatiquement mise à jour lorsque vous ajoutez de nouveaux éléments dans le tableau. Lorsque vous affectez une valeur à un élément de tableau (par exemple, my_array[index] = value), si index est un nombre et si index+1 est supérieur à la propriété length, la propriété length est mise à jour et définie sur la valeur index+1.

Remarque : si vous affectez une valeur plus courte que la valeur existante à la propriété length, le tableau sera tronqué.

Le code suivant crée un objet Array, names, avec l’élément de chaîne Bill. Il utilise ensuite la méthode push() pour ajouter un autre élément de chaîne, Kyle. La longueur de la chaîne, telle que déterminée par la propriété length, était d’un élément avant l’utilisation de push() et de deux éléments après l’appel de push(). Une autre chaîne, Jeff, est ensuite ajoutée pour porter la longueur de names à trois éléments. La méthode shift() est alors appelée deux fois pour supprimer Bill et Kyle et ne conserver ainsi que le dernier élément length. var names:Array = new Array("Bill"); names.push("Kyle"); trace(names.length); // 2 names.push("Jeff"); trace(names.length); // 3 names.shift(); names.shift(); trace(names.length); // 1
RegExp La classe RegExp vous permet d’utiliser des expressions régulières, à savoir des modèles destinés à effectuer des recherches dans les chaînes et à remplacer du texte dans ces dernières.Object La classe RegExp vous permet d’utiliser des expressions régulières, à savoir des modèles destinés à effectuer des recherches dans les chaînes et à remplacer du texte dans ces dernières.

Pour créer un objet RegExp, utilisez le constructeur new RegExp() ou affectez un littéral RegExp à une variable :

var pattern1:RegExp = new RegExp("test-\\d", "i"); var pattern2:RegExp = /test-\d/i;

Pour plus d’informations, voir le chapitre « Utilisation d’expressions régulières » dans le Guide du développeur d’ActionScript 3.0.

L’exemple suivant indique comment utiliser des expressions régulières pour analyser des chaînes et renvoyer une nouvelle chaîne ou une valeur booléenne, en fonction de la chaîne transmise. La méthode informalizeGreeting() remplace simplement le mot Hello par Hi, quelle qu’en soit la casse. Elle sépare également le nom du prénom dans la chaîne (en supposant que le nom corresponde au modèle spécifié). Dans les méthodes validateEmail() et validatePhoneNumber(), la chaîne transmise est vérifiée pour vérifier si son modèle correspond bien à celui d’une adresse électronique valide ou celui d’un numéro de téléphone, puis les méthodes renvoient des valeurs booléennes en fonction des résultats. package { import flash.display.Sprite; public class RegExpExample extends Sprite { public function RegExpExample() { var formalGreeting:String = "Hello, John Smith."; trace(informalizeGreeting(formalGreeting)); // Hi, John. var validEmail:String = "name@domain.com"; trace(validateEmail(validEmail)); // true var invalidEmail:String = "foo"; trace(validateEmail(invalidEmail)); // false var validPhoneNumber:String = "415-555-1212"; trace(validatePhoneNumber(validPhoneNumber)); // true var invalidPhoneNumber:String = "312-867-530999"; trace(validatePhoneNumber(invalidPhoneNumber)); // false } private function informalizeGreeting(str:String):String { var pattern:RegExp = new RegExp("hello, (\\w+) \\w+", "i"); return str.replace(pattern, "Hi, $1"); } private function validateEmail(str:String):Boolean { var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; var result:Object = pattern.exec(str); if(result == null) { return false; } return true; } private function validatePhoneNumber(str:String):Boolean { var pattern:RegExp = /^\d{3}-\d{3}-\d{4}$/; var result:Object = pattern.exec(str); if(result == null) { return false; } return true; } } }
String.match()String.replace()String.search()RegExp Vous permet de générer une expression régulière à partir de deux chaînes.reStringModèle de l’expression régulière (également appelée chaîne du constructeur). Il s’agit de la partie principale de l’expression régulière, à savoir la partie associée aux caractères « / »).

Remarques :

  • N’incluez pas les caractères « / » de début et de fin. N’utilisez ceux-ci que lorsque vous définissez un littéral d’expression régulière sans utiliser de constructeur. Par exemple, les deux expressions régulières suivantes sont équivalentes : var re1:RegExp = new RegExp("bob", "i"); var re2:RegExp = /bob/i;
  • Dans une expression régulière définie à l’aide de la méthode constructeur RegExp(), tapez deux fois le caractère barre oblique inversée (\) pour utiliser une métaséquence débutant par le caractère barre oblique inversée, telle que \d (qui remplace n’importe quel chiffre). Par exemple, les deux expressions régulières suivantes sont équivalentes : var re1:RegExp = new RegExp("\\d+", ""); var re2:RegExp = /\d/;

    Dans la première expression, vous devez taper deux fois le caractère barre oblique inversée, car le premier paramètre de la méthode constructeur RegExp() est une chaîne. Dans un littéral de chaîne, ce caractère doit être entré deux fois pour être interprété comme une barre oblique inversée unique.

flagsStringLes modificateurs de l’expression régulière, parmi lesquels figurent :
  • g — Lorsque la méthode replace() de la classe String est utilisée, spécifiez ce modificateur pour remplacer toutes les correspondances, plutôt que la première uniquement. Ce modificateur correspond à la propriété global de l’occurrence de RegExp.
  • i — L’expression régulière est évaluée sans respect de la casse. Ce modificateur correspond à la propriété ignoreCase de l’occurrence de RegExp.
  • s — Caractère point (.) correspond aux caractères de nouvelle ligne. Remarque : ce modificateur correspond à la propriété dotall de l’occurrence de RegExp.
  • m — Le caractère circonflexe (^) et le symbole du dollar ($) établissent une correspondance avant et après les caractères de nouvelle ligne. Ce modificateur correspond à la propriété multiline de l’occurrence de RegExp.
  • x — Les caractères d’espace blanc de la chaîne re sont ignorés, afin de vous permettre d’écrire des constructeurs plus lisibles. Ce modificateur correspond à la propriété extended de l’occurrence de RegExp.

Aucun autre caractère de la chaîne flags n’est pris en compte.

Vous permet de générer une expression régulière à partir de deux chaînes. La première définit le modèle de l’expression régulière, tandis que la seconde définit les indicateurs utilisés dans l’expression régulière.
exec Recherche l’expression régulière dans la chaîne str indiquée.Renvoie null si aucune correspondance n’est détectée, un objet aux propriétés suivantes dans le cas contraire :
  • Un tableau dont l’élément 0 contient la sous-chaîne correspondante entière, et les autres éléments du tableau (compris entre 1 et n) contiennent des sous-chaînes correspondant aux groupes entre parenthèses de l’expression régulière.
  • index — Position des caractères de la sous-chaîne correspondante au sein de la chaîne
  • input — Chaîne (str)
Object
strStringChaîne à rechercher.
Recherche l’expression régulière dans la chaîne str indiquée.

Si l’indicateur g (global) n’est pas défini pour l’expression régulière, la recherche débute au début de la chaîne (position d’index 0) et ignore la propriété lastIndex de l’expression régulière.

Si l’indicateur g (global) est défini pour l’expression régulière, la recherche débute à la position d’index spécifiée par la propriété lastIndex de l’expression régulière. Si la recherche correspond à une sous-chaîne, la propriété lastIndex est modifiée pour indiquer la position de la fin de la correspondance.

Lorsque l’indicateur g (global) n’est pas défini dans l’expression régulière, vous pouvez utiliser exec() pour rechercher dans la chaîne la première correspondance : var myPattern:RegExp = /(\w~~)sh(\w~~)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); trace(result);

L’objet result est défini comme suit :

  • result[0] est défini sur "She" (correspondance exacte).
  • result[1] est défini sur une chaîne vide (premier groupe entre parenthèses correspondant).
  • result[2] est réglé sur "e" (second groupe entre parenthèses correspondant).
  • result.index est défini sur 0.
  • result.input est défini sur la chaîne d’entrée : "She sells seashells by the seashore".

Dans l’exemple suivant, l’indicateur g (global) étant défini dans l’expression régulière, vous pouvez utiliser exec() à plusieurs reprises pour trouver les correspondances multiples :

var myPattern:RegExp = /(\w~~)sh(\w~~)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); while (result != null) { trace ( result.index, "\t", result); result = myPattern.exec(str); }

Le résultat du code est le suivant :


            0      She,,e
            10     seashells,sea,ells
            27     seashore,sea,ore
         
String.match()String.search()
test Recherche la correspondance de l’expression régulière dans la chaîne str indiquée.Renvoie true si une correspondance est détectée, false dans le cas contraire. BooleanstrStringChaîne à tester. Recherche la correspondance de l’expression régulière dans la chaîne str indiquée.

Si l’indicateur g (global) n’est pas défini pour l’expression régulière, la recherche débute au début de la chaîne (position d’index 0) et ignore la propriété lastIndex de l’expression régulière.

Si l’indicateur g (global) est défini pour l’expression régulière, la recherche débute à la position d’index spécifiée par la propriété lastIndex de l’expression régulière. Si la recherche correspond à une sous-chaîne, la propriété lastIndex est modifiée pour indiquer la position de la fin de la correspondance.

L’exemple suivant indique comment utiliser la méthode test() sur une expression régulière où l’indicateur g (global) est défini : var re1:RegExp = /\w/g; var str:String = "a b c"; trace (re1.lastIndex); // 0 trace (re1.test(str)); // true trace (re1.lastIndex); // 1 trace (re1.test(str)); // true trace (re1.lastIndex); // 3 trace (re1.test(str)); // true trace (re1.lastIndex); // 5 trace (re1.test(str)); // false
dotall Spécifie si le caractère point (.) d’un modèle d’expression régulière correspond à des caractères de nouvelle ligne.Boolean Spécifie si le caractère point (.) d’un modèle d’expression régulière correspond à des caractères de nouvelle ligne. Utilisez l’indicateur s lorsque vous générez une expression régulière pour définir dotall = true. L’exemple suivant indique l’effet de l’indicateur s (dotall) sur une expression régulière : var str:String = "<p>Hello\n" + "again</p>" + "<p>Hello</p>"; var pattern:RegExp = /<p>.*?<\/p>/; trace(pattern.dotall) // false trace(pattern.exec(str)); // <p>Hello</p> pattern = /<p>.*?<\/p>/s; trace(pattern.dotall) // true trace(pattern.exec(str)); extended Indique si le mode étendu est activé pour l’expression régulière.Boolean Indique si le mode étendu est activé pour l’expression régulière. Si un objet RegExp est en mode étendu, les caractères d’espace blanc que contient la chaîne du constructeur sont ignorés. Les constructeurs sont ainsi plus lisibles.

Utilisez l’indicateur x lorsque vous générez une expression régulière pour définir extended = true.

L’exemple suivant présente différentes façons de construire la même expression régulière. Pour chaque façon, l’expression régulière doit correspondre au modèle de numéro de téléphone xxx-xxx-xxxx ou (xxx) xxx-xxxx ou (xxx)xxx-xxxx. La deuxième expression régulière utilise l’indicateur x, ce qui permet d’ignorer les espaces blancs de la chaîne. var rePhonePattern1:RegExp = /\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/; var str:String = "The phone number is (415)555-1212."; trace(rePhonePattern1.extended) // false trace(rePhonePattern1.exec(str)); // (415)555-1212 var rePhonePattern2:RegExp = / \d{3}-\d{3}-\d{4} | \( \d{3} \) \ ? \d{3}-\d{4} /x; trace(rePhonePattern2.extended) // true trace(rePhonePattern2.exec(str)); // (415)555-1212
global Indique si la mise en correspondance globale est activée pour l’expression régulière.Boolean Indique si la mise en correspondance globale est activée pour l’expression régulière. Lorsque global == true, la propriété lastIndex est définie après détection d’une correspondance. Lors de la demande suivante de correspondance, le moteur de l’expression régulière démarre à partir de la position lastIndex dans la chaîne. Utilisez l’indicateur g lorsque vous générez une expression régulière pour régler global sur true. L’exemple suivant indique l’effet de l’indicateur g (global) sur la méthode exec() : var pattern:RegExp = /foo\d/; var str:String = "foo1 foo2"; trace(pattern.global); // false trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 0 trace(pattern.exec(str)); // foo1 pattern = /foo\d/g; trace(pattern.global); // true trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 4 trace(pattern.exec(str)); // foo2 ignoreCase Indique si l’expression régulière prend ou non en charge la casse.Boolean Indique si l’expression régulière prend ou non en charge la casse. Utilisez l’indicateur i lorsque vous générez une expression régulière pour définir ignoreCase = true. L’exemple suivant indique l’effet de la définition de l’indicateur i (ignoreCase) : var pattern:RegExp = /bob/; var str:String = "Bob bob"; trace(pattern.ignoreCase); // false trace(pattern.exec(str)); // bob pattern = /bob/i; trace(pattern.ignoreCase); // true trace(pattern.exec(str)); // Bob lastIndex Spécifie la position d’index où démarrer la recherche suivante dans la chaîne.Number Spécifie la position d’index où démarrer la recherche suivante dans la chaîne. Cette propriété affecte les méthodes exec() et test() de la classe RegExp. Toutefois, les méthodes match(), replace() et search() de la classe String ignorent la propriété lastIndex et démarrent toutes les recherches au début de la chaîne.

Si la méthode exec() ou test() trouve une correspondance et que l’indicateur g (global) est réglé sur true pour l’expression régulière, elle règle automatiquement la propriété lastIndex sur la position d’index du caractère qui after le dernier caractère de la sous-chaîne correspondante de la dernière correspondance. Si l’indicateur g (global) est réglé sur false, la méthode ne définit pas la propriété lastIndex.

Vous pouvez définir la propriété lastIndex de sorte à ajuster la position de début dans la chaîne pour la mise en correspondance des expressions régulières.

L’exemple suivant indique l’effet de la définition de la propriété lastIndex et indique comment elle est mise à jour après un appel à la méthode exec() sur une expression régulière où l’indicateur g (global) est défini : var pattern:RegExp = /\w\d/g; var str:String = "a1 b2 c3 d4"; pattern.lastIndex = 2; trace(pattern.exec(str)); // b2 trace(pattern.lastIndex); // 5 trace(pattern.exec(str)); // c3 trace(pattern.lastIndex); // 8 trace(pattern.exec(str)); // d4 trace(pattern.lastIndex); // 11 trace(pattern.exec(str)); // null
multiline Spécifie si l’indicateur m (multiline) est défini.Boolean Spécifie si l’indicateur m (multiline) est défini. S’il est défini, le caractère circonflexe (^) et le symbole du dollar ($) établissent une correspondance avant et après les caractères de nouvelle ligne dans une expression régulière. Utilisez l’indicateur m lorsque vous générez une expression régulière pour définir multiline = true. L’exemple suivant indique l’effet de la définition de l’indicateur m (multiline) : var pattern:RegExp = /^bob/; var str:String = "foo\n" + "bob"; trace(pattern.multiline); // false trace(pattern.exec(str)); // null pattern = /^bob/m; trace(pattern.multiline); // true trace(pattern.exec(str)); // bob source Spécifie la partie modèle de l’expression régulière.String Spécifie la partie modèle de l’expression régulière. Le code suivant renvoie le paramètre source de deux expressions régulières : var re1:RegExp = /aabb/gi; trace (re1.source); // aabb var re2:RegExp = new RegExp("x+y*", "i"); trace(re2.source); // x+y*
Date La classe Date représente des informations relatives à la date et à l’heure.Object La classe Date représente des informations relatives à la date et à l’heure. Une occurrence de la classe Date représente un moment spécifique par rapport auquel vous pouvez interroger ou modifier des propriétés telles que le mois, le jour, l’heure et les secondes. La classe Date vous permet d’extraire des valeurs de date et d’heure relatives à l’heure universelle (GMT, désormais appelée heure universelle ou UTC) ou à l’heure locale, déterminée par le paramètre de fuseau horaire activé dans le système d’exploitation sur lequel Flash Player s’exécute. Les méthodes de la classe Date ne sont pas statiques mais s’appliquent uniquement au seul objet Date spécifié lorsque la méthode est appelée. Les méthodes Date.UTC() et Date.parse() font exception à la règle et sont statiques.

La classe Date gère l’heure d’été différemment, en fonction du système d’exploitation et de la version du moteur d’exécution. Flash Player 6 et les versions ultérieures gèrent l’heure d’été sur les systèmes d’exploitation suivants comme suit :

  • Windows : l’objet Date ajuste automatiquement sa sortie pour l’heure d’été. L’objet Date détecte si l’heure d’été est définie selon les paramètres régionaux actuels, et si tel est le cas, détecte la date et les heures de transition de l’heure d’été standard. Toutefois, les dates de transition actuellement en vigueur sont appliquées aux dates passées et à venir : par conséquent, le décalage de l’heure d’été peut être calculé de manière incorrecte pour les dates passées lorsque les paramètres régionaux étaient définis sur différentes dates de transition.
  • Mac OS X : l’objet Date ajuste automatiquement sa sortie pour l’heure d’été. La base de données d’informations sur le fuseau horaire dans Mac OS X est utilisée pour déterminer si un décalage d’heure d’été doit être appliqué à une date ou heure actuelle ou passée.
  • Mac OS 9 : le système d’exploitation fournit uniquement les informations suffisantes pour déterminer s’il convient d’appliquer un décalage d’heure d’été à la date et l’heure actuelles. En conséquence, l’objet de date suppose que le décalage d’heure d’été actuel s’applique à toutes les dates et heures passées ou à venir.

Flash Player 5 gère l’heure d’été sur les systèmes d’exploitation suivants comme suit :

  • Windows : les règles en vigueur aux Etats-Unis concernant l’heure d’été sont toujours appliquées, ce qui entraîne des transitions incorrectes en Europe et dans les autres zones qui adoptent l’heure d’été, mais ayant des heures de transition différentes de celles en vigueur aux Etats-Unis. Flash détecte correctement si l’heure d’été est utilisée dans les paramètres régionaux actuels.

Pour utiliser la classe Date, construisez une occurrence de Date à l’aide de l’opérateur new.

ActionScript 3.0 intègre plusieurs nouvelles propriétés accesseur que vous pouvez substituer à de nombreuses méthodes de la classe Date qui accèdent à des occurrences de Date ou les modifient. ActionScript 3.0 inclut également plusieurs nouvelles variations de la méthode toString() qui sont incluses pour des raisons de conformité avec la troisième édition de ECMA-262, ce qui inclut : Date.toLocaleString(), Date.toTimeString(), Date.toLocaleTimeString(), Date.toDateString() et Date.toLocaleDateString().

Pour calculer l’heure relative ou le temps écoulé, voir la méthode getTimer(), qui figure dans le package flash.utils.

L’exemple suivant présente différentes utilisations du constructeur Date() pour affecter les variables suivantes :
  • myDate1 appelle Date() sans paramètres, ce qui définit myDate1 sur la date et l’heure actuelle (en fonction de la date et de l’heure de votre système).
  • myDate2 appelle Date() avec les paramètres year (2000), month (0 = January) et day (1) transmis à cette fonction.
  • myDate3 appelle Date() avec year (65 = 1965), month (2 = March), day (6), hour (9), minute (30), second (15) et millisecond-+ (0) transmis en tant que paramètres.
  • myDate4 appelle Date() où la valeur horaire représente le nombre de millisecondes avant (dans la mesure où la valeur est négative) 0:00:00 GMT 1 janvier 1970.
package { import flash.display.Sprite; public class DateExample extends Sprite{ public function DateExample() { var myDate1:Date = new Date(); trace(myDate1); // [NOW] var myDate2:Date = new Date(2000, 0, 1); trace(myDate2); // Sat Jan 1 00:00:00 GMT-0800 2000 var myDate3:Date = new Date(65, 2, 6, 9, 30, 15, 0); trace(myDate3); // Sat Mar 6 09:30:15 GMT-0800 1965 var myDate4:Date = new Date(-14159025000); trace(myDate4); // Sun Jul 20 19:56:15 GMT-0700 1969 } } }
flash.utils.getTimer()Date Construit un nouvel objet Date qui contient la date et l’heure spécifiées.yearOrTimevalueObjectSi d’autres paramètres sont spécifiés, ce nombre représente une année (telle que 1965) ; sinon, il représente une valeur horaire. Si le nombre représente une année, une valeur comprise entre 0 et 99 renvoie à une année comprise entre 1900 et 1999 ; sinon les quatre chiffres de l’année doivent être spécifiés. Si le nombre représente une valeur horaire (aucun autre paramètre n’est spécifié), il s’agit du nombre de millisecondes écoulées avant ou après le premier janvier 1970 à minuit GMT ; une valeur négative représente une heure antérieure au premier janvier 1970 à minuit GMT ; une valeur positive représente une heure postérieure à cette date. monthNumberEntier compris entre 0 (janvier) et 11 (décembre). dateNumber1Entier compris entre 1 et 31. hourNumber0Entier compris entre 0 (minuit) et 23 (23h00). minuteNumber0Entier compris entre 0 et 59. secondNumber0Entier compris entre 0 et 59. millisecondNumber0Entier compris entre 0 et 999 millisecondes. Construit un nouvel objet Date qui contient la date et l’heure spécifiées.

Le constructeur Date() accepte jusqu’à sept paramètres (year, month,..., millisecond) pour spécifier une date et une heure en millisecondes. La date indiquée dans le nouvel objet Date varie selon le nombre et le type des arguments transmis.

  • Si vous ne transmettez pas d’argument, la date et l’heure en cours sont affectées à l’objet Date.
  • Si vous transmettez un seul argument dont le type de données correspond à Number, l’objet Date utilise une valeur horaire basée sur le nombre de millisecondes depuis le premier janvier 1970 0:00:000 GMT, comme spécifié par l’argument.
  • Si vous transmettez un seul argument dont le type de données correspond à Number et que la chaîne comporte une date valide, l’objet Date contient une valeur horaire basée sur cette date.
  • Si vous transmettez au moins deux arguments, l’objet Date utilise une valeur horaire basée sur les valeurs d’argument transmises, qui représentent l’année, le mois, la date, l’heure, la minute, la seconde et les millisecondes.

Si vous transmettez une chaîne au constructeur de la classe Date, la date peut être exprimée dans divers formats, mais doit inclure au moins le mois, la date et l’année. Par exemple, Fév 1 2005 est valide, mais Fév 2005 ne l’est pas. La liste suivante indique quelques formats valides :

  • Jour Mois Date Heures:Minutes:Secondes GMT Année (exemple : « Mar Fév 1 00:00:00 GMT-0800 2005 », qui correspond à toString()),
  • Jour Mois Date Année Heures:Minutes:Secondes AM/PM (exemple, « Mar Fév 1 2005 12:00:00 AM », qui correspond à toLocaleString()),
  • Jour Mois Date Année (exemple : « Mar Fév 1 2005 », qui correspond à toDateString()),
  • Mois/Jour/Année (exemple : « 02/01/2005 »),
  • Mois/Année (exemple : « 02/2005 »).
getMonth()getDate()getFullYear()
UTC Renvoie le nombre de millisecondes écoulées entre le premier janvier 1970 à minuit, heure universelle, et l’heure spécifiée dans les paramètres.Nombre de millisecondes écoulées entre le premier janvier 1970 et la date et heure spécifiées. NumberyearNumberEntier à quatre chiffres qui représente l’année (par exemple, 2000). monthNumberEntier compris entre 0 (janvier) et 11 (décembre). dateNumber1Entier compris entre 1 et 31. hourNumber0Entier compris entre 0 (minuit) et 23 (23h00). minuteNumber0Entier compris entre 0 et 59. secondNumber0Entier compris entre 0 et 59. millisecondNumber0Entier compris entre 0 et 999. Renvoie le nombre de millisecondes écoulées entre le premier janvier 1970 à minuit, heure universelle, et l’heure spécifiée dans les paramètres. Cette méthode utilise l’heure universelle, tandis que le constructeur Date utilise l’heure locale.

Elle s’avère utile si vous voulez transmettre une date UTC au constructeur de la classe Date. Le constructeur de la classe Date acceptant l’intervalle exprimé en millisecondes en tant qu’argument, vous pouvez utiliser la méthode Date.UTC() pour convertir une date UTC en intervalle correspondant et transmettre cette valeur en tant qu’argument au constructeur de la classe Date :

L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20) à l’aide de l’heure locale. Ensuite, un appel à UTC() au sein d’une méthode setTime() réinitialise les mêmes paramètres sur le temps universel. var someBirthday:Date = new Date(1974, 10, 30, 15, 20); trace(someBirthday.toString()); someBirthday.setTime(Date.UTC(1974, 10, 30, 15, 20)); trace(someBirthday.toString());
getDate Renvoie le jour du mois (entier compris entre 1 et 31) spécifié par un objet Date conformément à l’heure locale.Jour du mois (1 - 31) représenté par un objet Date. Number Renvoie le jour du mois (entier compris entre 1 et 31) spécifié par un objet Date conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getDate() est ensuite appelée afin d’extraire le jour du mois. package { import flash.display.Sprite; public class DateExample extends Sprite { public function DateExample() { var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getDate()); // 30 } } } getMonth()getFullYear()getDay Renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) spécifié par l’objet Date conformément à l’heure locale.Version numérique du jour de la semaine (0 - 6) représenté par un objet Date. Number Renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) spécifié par l’objet Date conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Array weekDayLabels, avec les éléments [Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday] et un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getDay() est ensuite appelée deux fois pour afficher le jour du mois dans un premier temps, 6, puis affiche le jour de la semaine à l’aide de weekDayLabels. var weekDayLabels:Array = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getDay()); // 6 trace(weekDayLabels[someBirthday.getDay()]); // Saturday getFullYear Renvoie l’année entière (un nombre à quatre chiffres, tel que 2000) d’un objet Date conformément à l’heure locale.Année entière représentée par un objet Date. Number Renvoie l’année entière (un nombre à quatre chiffres, tel que 2000) d’un objet Date conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getFullYear() est ensuite appelée, afin d’extraire l’année au format à quatre chiffres. var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getFullYear()); // 1974 getHours Renvoie l’heure (entier compris entre 0 et 23) de la partie jour d’un objet Date, conformément à l’heure locale.Heure (0 -23) du jour représentée par un objet Date. Number Renvoie l’heure (entier compris entre 0 et 23) de la partie jour d’un objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). Les méthodes getHours() et getMinutes() sont ensuite appelées, ce qui extrait les heures et les minutes au format à 24 heures. Enfin, la chaîne localTime est créée et est affectée au résultat d’un appel à la fonction getUSClockTime(), qui en retour appelle de nouveau getHours() et getMinutes(), ce qui donne l’heure 03:05 PM. var someBirthday:Date = new Date(1974, 10, 30, 15, 5); trace(someBirthday); // Sat Nov 30 15:20:00 GMT-0800 1974 trace(someBirthday.getHours() + ":" + someBirthday.getMinutes()); // 15:5 var localTime:String = getUSClockTime(someBirthday.getHours(), someBirthday.getMinutes()); trace(localTime); // 03:05 PM function getUSClockTime(hrs:uint, mins:uint):String { var modifier:String = "PM"; var minLabel:String = doubleDigitFormat(mins); if(hrs > 12) { hrs = hrs-12; } else if(hrs == 0) { modifier = "AM"; hrs = 12; } else if(hrs < 12) { modifier = "AM"; } return (doubleDigitFormat(hrs) + ":" + minLabel + " " + modifier); } function doubleDigitFormat(num:uint):String { if(num < 10) { return ("0" + num); } return num; } getMilliseconds Renvoie la partie millisecondes (entier compris entre 0 et 999) d’un objet Date, conformément à l’heure locale.Partie millisecondes d’un objet Date. Number Renvoie la partie millisecondes (entier compris entre 0 et 999) d’un objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getMilliseconds() est ensuite appelée, ce qui extrait les millisecondes de l’objet Date à partir de l’heure de création de now. var now:Date = new Date(); trace(now.getMilliseconds()); getMinutes Renvoie la partie minutes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure locale.Partie minutes d’un objet Date. Number Renvoie la partie minutes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getMinutes() est ensuite appelée, ce qui extrait les minutes de l’objet Date à partir de l’heure de création de now. var now:Date = new Date(); trace(now); trace(now.getMinutes()); getMonth Renvoie la partie mois (0 pour janvier, 1 pour février, etc.) de l’objet Date, conformément à l’heure locale.Partie mois (0 – 11) d’un objet Date. Number Renvoie la partie mois (0 pour janvier, 1 pour février, etc.) de l’objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Array, monthLabels, avec les éléments January à December et un nouvel objet Date, now, sans paramètres. La méthode getMonth() est ensuite appelée deux fois, ce qui renvoie le numéro du mois dans un premier temps, suivi par le nom du mois pendant lequel l’objet Date, now, a été créé. var monthLabels:Array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); var now:Date = new Date(); trace(now.getMonth()); trace(monthLabels[now.getMonth()]); getSeconds Renvoie la partie secondes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure locale.Partie secondes (0 – 59) d’un objet Date. Number Renvoie la partie secondes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getSeconds() est ensuite appelée, ce qui extrait les secondes à partir de l’heure de création de l’objet Date, now. var now:Date = new Date(); trace(now.getSeconds()); getTime Renvoie le nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour un objet Date.Nombre de millisecondes écoulées depuis le premier janvier 1970 représenté par un objet Date. Number Renvoie le nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour un objet Date. Cette méthode permet de représenter un instant spécifique dans le temps lorsque vous comparez au moins deux objets Date. L’exemple suivant crée un objet Date, mlk, avec les paramètres year (1929), month (0 = January) et day (15). La méthode getTime() est ensuite appelée, ce qui extrait les millisecondes à compter de minuit le premier janvier 1970, ce qui donne une valeur négative dans la mesure où l’année est définie sur 1929. var mlk:Date = new Date(1929, 0, 15); trace(mlk); // Tue Jan 15 00:00:00 GMT-0800 1929 trace(mlk.getTime()); // -1292601600000 L’exemple suivant crée un objet Date, now, sans paramètres, puis utilise les méthodes de la classe DateMath suivante (créée ci-dessous) pour ajouter du temps à l’objet Date d’origine, now, à compter de son heure de création :
  • addSeconds() : ajoute 30 secondes à now.
  • addMinutes() : ajoute 30 minutes à now.
  • addHours() : ajoute 6 heures à l’objet Date now.
  • addDays() : ajoute 30 jours à l’objet Date now.
  • addWeeks() : ajoute 4 semaines à now.
var now:Date = new Date(); trace(now); trace(DateMath.addSeconds(now, 30)); trace(DateMath.addMinutes(now, 30)); trace(DateMath.addHours(now, 6)); trace(DateMath.addDays(now, 30)); trace(DateMath.addWeeks(now, 4)); class DateMath { public static function addWeeks(date:Date, weeks:Number):Date { return addDays(date, weeks*7); } public static function addDays(date:Date, days:Number):Date { return addHours(date, days*24); } public static function addHours(date:Date, hrs:Number):Date { return addMinutes(date, hrs*60); } public static function addMinutes(date:Date, mins:Number):Date { return addSeconds(date, mins*60); } public static function addSeconds(date:Date, secs:Number):Date { var mSecs:Number = secs * 1000; var sum:Number = mSecs + date.getTime(); return new Date(sum); } } Remarque : il est important d’utiliser la méthode getTime lors des opérations arithmétiques sur les dates dans la mesure où cette fonction tient compte des années bissextiles et nécessite beaucoup moins de code que l’exemple suivant :
 function addMonths(num:Number):void {
     currentMonth = currentMonth + num;
     if(currentMonth > 12) {
         currentYear++;
         currentMonth = currentMonth - 12;
     }
 }
 
getTimezoneOffset Renvoie la différence, en minutes, entre le temps universel (UTC) et l’heure locale de l’ordinateur.Les minutes que vous devez ajouter à l’heure locale de l’ordinateur pour obtenir l’heure UTC. Si votre ordinateur est en avance sur l’heure UTC, la valeur renvoyée est négative. Number Renvoie la différence, en minutes, entre le temps universel (UTC) et l’heure locale de l’ordinateur. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getTimezoneOffset() est ensuite appelée, qui extrait les différences (en minutes) entre l’heure de création de now et l’heure UTC. Le décalage horaire est ensuite converti en heures en divisant le résultat par 60. var date:Date = new Date(); trace(date.getTimezoneOffset() / 60); getUTCDate Renvoie le jour du mois (entier compris entre 1 et 31) d’un objet Date, conformément à l’heure universelle (UTC).Jour UTC du mois (compris entre 1 et 31) représenté par un objet Date. Number Renvoie le jour du mois (entier compris entre 1 et 31) d’un objet Date, conformément à l’heure universelle (UTC). L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getUTCDate() est ensuite appelée afin d’extraire le jour du mois, au format UTC. var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getUTCDate()); // 30 getDate()getUTCDay Renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) de l’objet Date conformément à l’heure universelle (UTC).Jour UTC de la semaine (compris entre 0 et 6) représenté par un objet Date. Number Renvoie le jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) de l’objet Date conformément à l’heure universelle (UTC). L’exemple suivant crée un nouvel objet Array weekDayLabels, avec les éléments [Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday] et un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getUTCDay() est ensuite appelée deux fois pour afficher le jour du mois dans un premier temps, 6, puis affiche le jour de la semaine à l’aide de weekDayLabels. var weekDayLabels:Array = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getUTCDay()); // 6 trace(weekDayLabels[someBirthday.getUTCDay()]); // Saturday getDay()getUTCFullYear Renvoie l’année à quatre chiffres d’un objet Date, conformément à l’heure universelle (UTC).Année UTC à quatre chiffres représentée par un objet Date. Number Renvoie l’année à quatre chiffres d’un objet Date, conformément à l’heure universelle (UTC). L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getUTCFullYear() est ensuite appelée, afin d’extraire l’année au format à quatre chiffres, conformément au format UTC. var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getUTCFullYear()); // 1974 getFullYear()getUTCHours Renvoie l’heure (entier compris entre 0 et 23) du jour d’un objet Date, conformément à l’heure universelle (UTC).Heure UTC du jour (comprise entre 0 et 23) représentée par un objet Date. Number Renvoie l’heure (entier compris entre 0 et 23) du jour d’un objet Date, conformément à l’heure universelle (UTC). L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). Les méthodes getHours() et getMinutes() sont ensuite appelées, ce qui extrait les heures et les minutes au format à 24 heures. Enfin, la chaîne localTime est créée et est affectée au résultat d’un appel à la fonction getUSClockTime(), qui en retour appelle de nouveau getHours() et getMinutes(), ce qui donne l’heure 03:05 PM. Enfin, la variable String utcTime est créée de la même manière que localTime et, dans ce cas, le résultat est identique. var someBirthday:Date = new Date(1974, 10, 30, 15, 5); trace(someBirthday); // Sat Nov 30 15:20:00 GMT-0800 1974 trace(someBirthday.getHours() + ":" + someBirthday.getMinutes()); // 15:5 var localTime:String = getUSClockTime(someBirthday.getHours(), someBirthday.getMinutes()); trace(localTime); // 03:05 PM var utcTime:String = getUSClockTime(someBirthday.getUTCHours(), someBirthday.getUTCMinutes()); trace(utcTime); // 11:05 PM function getUSClockTime(hrs:uint, mins:uint):String { var modifier:String = "PM"; var minLabel:String = doubleDigitFormat(mins); if(hrs > 12) { hrs = hrs-12; } else if(hrs == 0) { modifier = "AM"; hrs = 12; } else if(hrs < 12) { modifier = "AM"; } return (doubleDigitFormat(hrs) + ":" + minLabel + " " + modifier); } function doubleDigitFormat(num:uint):String { if(num < 10) { return ("0" + num); } return num; } getHours()getUTCMilliseconds Renvoie la partie millisecondes (entier compris entre 0 et 999) d’un objet Date, conformément à l’heure universelle (UTC).Partie millisecondes UTC d’un objet Date. Number Renvoie la partie millisecondes (entier compris entre 0 et 999) d’un objet Date, conformément à l’heure universelle (UTC). L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getUTCMilliseconds() est ensuite appelée, ce qui extrait les millisecondes de l’heure de création de l’objet Date, now, conformément au format UTC. var now:Date = new Date(); trace(now.getUTCMilliseconds()); getUTCMinutes Renvoie la partie minutes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure universelle (UTC).Partie minutes UTC d’un objet Date. Number Renvoie la partie minutes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure universelle (UTC). L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getUTCMinutes() est ensuite appelée, ce qui extrait les minutes de l’heure de création de l’objet Date, now, conformément au format UTC. var now:Date = new Date(); trace(now.getUTCMinutes()); getUTCMonth Renvoie la partie mois (0 [janvier] à 11 [décembre]) d’un objet Date, conformément à l’heure universelle (UTC).Partie mois UTC d’un objet Date. Number Renvoie la partie mois (0 [janvier] à 11 [décembre]) d’un objet Date, conformément à l’heure universelle (UTC). L’exemple suivant crée un nouvel objet Array, monthLabels, avec les éléments January à December et un nouvel objet Date, now, sans paramètres. La méthode getUTCMonth() est ensuite appelée deux fois, ce qui renvoie le numéro du mois dans un premier temps, suivi par le nom du mois de création de l’objet Date, now, conformément au format UTC. var monthLabels:Array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); var now:Date = new Date(); trace(now.getMonth()); trace(now.getUTCMonth()); trace(monthLabels[now.getUTCMonth()]); getMonth()getUTCSeconds Renvoie la partie secondes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure universelle (UTC).Partie secondes UTC d’un objet Date. Number Renvoie la partie secondes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure universelle (UTC). L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getUTCSeconds() est ensuite appelée, ce qui extrait les secondes de l’heure de création de l’objet Date, now, conformément au format UTC. var now:Date = new Date(); trace(now.getUTCSeconds()); parse Convertit une chaîne qui représente une date en valeur numérique correspondant au nombre de millisecondes écoulées depuis le premier janvier 1970 (UTC).Valeur numérique représentant le nombre de millisecondes écoulées depuis le premier janvier 1970 (UTC). NumberdateStringReprésentation sous forme de chaîne d’une date, conformément au format de sortie de Date.toString(). Le format de date utilisé pour la sortie de Date.toString() est le suivant :
     Day Mon DD HH:MM:SS TZD YYYY
     

Par exemple :

     Wed Apr 12 15:30:17 GMT-0700 2006
     

La désignation TZD (Time Zone Designation) prend toujours la forme GMT-HHMM ou UTC-HHMM et indique l’intervalle en heures et minutes relativement à Greenwich Mean Time (GMT), également appelé heure universelle (UTC). Les termes année, mois et jour peuvent être séparés par une barre oblique (/) ou un espace, mais jamais par un tiret (-). Les autres formats gérés sont indiqués ci-dessous. Vous pouvez utiliser des représentations partielles de ces formats (mois, jour et année uniquement) :

     MM/DD/YYYY HH:MM:SS TZD
     HH:MM:SS TZD Day Mon/DD/YYYY 
     Mon DD YYYY HH:MM:SS TZD
     Day Mon DD HH:MM:SS TZD YYYY
     Day DD Mon HH:MM:SS TZD YYYY
     Mon/DD/YYYY HH:MM:SS TZD
     YYYY/MM/DD HH:MM:SS TZD
     
Convertit une chaîne qui représente une date en valeur numérique correspondant au nombre de millisecondes écoulées depuis le premier janvier 1970 (UTC). L’exemple suivant affecte une chaîne de date à dateParsed pour le 30 novembre 1974. La méthode Date.parse() est ensuite appelée, ce qui convertit la date en millisecondes depuis le premier janvier 1970. var dateParsed:String = "Sat Nov 30 1974"; var milliseconds:Number = Date.parse(dateParsed); trace(milliseconds); // 155030400000
Date.toString()
setDate Définit le jour du mois, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumberdayNumberEntier compris entre 1 et 31. Définit le jour du mois, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getDate() est ensuite appelée afin d’extraire le jour du mois. Ensuite la méthode setDate() est appelée avec le paramètre day défini sur 20, puis la méthode getDate() est appelée de nouveau, ce qui extrait le jour du mois qui vient d’être défini. var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getDate()); // 30 someBirthday.setDate(20); trace(someBirthday.getDate()); // 20 setFullYear Définit l’année, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumberyearNumberNombre à quatre chiffres spécifiant une année. Les nombres à deux chiffres ne représentent pas les années à quatre chiffres ; par exemple, 99 ne correspond pas à l’année 1999, mais à l’année 99. monthNumberEntier compris entre 0 (janvier) et 11 (décembre). dayNumberNombre compris entre 1 et 31. Définit l’année, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes. Si les paramètres month et date sont spécifiés, ils sont définis sur l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés.

L’appel de cette méthode ne modifie pas les autres champs de l’objet Date, mais Date.getUTCDay() et Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l’appel de cette méthode.

L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getFullYear() est ensuite appelée, afin d’extraire l’année au format à quatre chiffres. Ensuite la méthode setFullYear() est appelée avec le paramètre year défini sur 2000, puis la méthode getFullYear() est appelée de nouveau, ce qui extrait l’année qui vient d’être définie. var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getFullYear()); // 1974 someBirthday.setFullYear(2000); trace(someBirthday.getFullYear()); // 2000
getUTCDay()getDay()
setHours Définit l’heure, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumberhourNumberEntier compris entre 0 (minuit) et 23 (23h00). minuteNumberEntier compris entre 0 et 59. secondNumberEntier compris entre 0 et 59. millisecondNumberEntier compris entre 0 et 999. Définit l’heure, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). Les méthodes getHours() et getMinutes() sont ensuite appelées, ce qui extrait les heures et les minutes. Ensuite la méthode setHours() est appelée avec le paramètre hour défini sur 12, puis les méthodes getHours() et getMinutes() sont appelées de nouveau, ce qui extrait les heures et les minutes qui viennent d’être définies. var someBirthday:Date = new Date(1974, 10, 30, 15, 20); trace(someBirthday); // Sat Nov 30 15:20:00 GMT-0800 1974 trace(someBirthday.getHours() + ":" + someBirthday.getMinutes()); // 15:20 someBirthday.setHours(12); trace(someBirthday.getHours() + ":" + someBirthday.getMinutes()); // 12:20 setMilliseconds Définit les millisecondes, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumbermillisecondNumberEntier compris entre 0 et 999. Définit les millisecondes, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getMilliseconds() est ensuite appelée, ce qui extrait les millisecondes de l’heure de création de now. Ensuite, un autre nouvel objet Date, before, accompagné d’un appel supplémentaire à setMilliseconds() avec le paramètre millisecond défini sur 4. La méthode getMilliseconds() est ensuite appelée de nouveau, ce qui extrait les millisecondes qui viennent d’être définies. var now:Date = new Date(); trace(now); trace(now.getMilliseconds()); var before:Date = new Date(now.setMilliseconds(4)); trace(before); trace(before.getMilliseconds()); setMinutes Définit les minutes, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumberminuteNumberEntier compris entre 0 et 59. secondNumberEntier compris entre 0 et 59. millisecondNumberEntier compris entre 0 et 999. Définit les minutes, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getMinutes() est ensuite appelée, ce qui extrait les minutes de l’heure de création de now. Ensuite, un autre nouvel objet Date, before, accompagné d’un appel supplémentaire à setMinutes() avec le paramètre minute défini sur 0. La méthode getMinutes() est ensuite appelée de nouveau, ce qui extrait les minutes qui viennent d’être définies. var now:Date = new Date(); trace(now); trace(now.getMinutes()); var before:Date = new Date(now.setMinutes(0)); trace(before); trace(before.getMinutes()); setMonth Définit le mois et éventuellement le jour du mois, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumbermonthNumberEntier compris entre 0 (janvier) et 11 (décembre). dayNumberEntier compris entre 1 et 31. Définit le mois et éventuellement le jour du mois, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Array, monthLabels, avec les éléments January à December et un nouvel objet Month, now, sans paramètres. La méthode getMonth() est ensuite appelée, ce qui extrait le mois pendant lequel now a été créé. Ensuite la méthode setMonth() est appelée avec le paramètre month défini sur 0, puis la méthode getMonth() est appelée de nouveau, ce qui extrait le mois qui vient d’être défini.. var monthLabels:Array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); var now:Date = new Date(); trace(now.getMonth()); trace(monthLabels[now.getMonth()]); now.setMonth(0); trace(now.getMonth()); // 0 trace(monthLabels[now.getMonth()]); // January setSeconds Définit les secondes, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumbersecondNumberEntier compris entre 0 et 59. millisecondNumberEntier compris entre 0 et 999. Définit les secondes, conformément à l’heure locale, et renvoie la nouvelle heure en millisecondes. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getseconds() est ensuite appelée, ce qui extrait les secondes de l’heure de création de now. Ensuite la méthode setSeconds() est appelée avec le paramètre second défini sur 0, puis la méthode getSeconds() est appelée de nouveau, ce qui extrait le mois qui vient d’être défini. var now:Date = new Date(); trace(now.getSeconds()); now.setSeconds(0); trace(now.getSeconds()); // 0 setTime Définit la date en millisecondes écoulées depuis le premier janvier 1970 à minuit et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumbermillisecondNumberEntier, 0 représentant minuit le premier janvier en heure universelle (UTC). Définit la date en millisecondes écoulées depuis le premier janvier 1970 à minuit et renvoie la nouvelle heure en millisecondes. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode setTime() est ensuite appelée, avec le paramètre millisecond défini sur -1292601600000, ce qui renvoie Tue Jan 15 00:00:00 GMT-0800 1929. var now:Date = new Date(); trace(now); now.setTime(-1292601600000); trace(now); // Tue Jan 15 00:00:00 GMT-0800 1929 setUTCDate Définit le jour du mois, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumberdayNumberNombre ; entier compris entre 1 et 31. Définit le jour du mois, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes. L’appel de cette méthode ne modifie pas les autres champs de l’objet Date , mais les méthodes Date.getUTCDay() et Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l’appel de cette méthode. L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getUTCDate() est appelée et renvoie correctement le jour du mois. Ensuite, setUTCDate() est appelé avec le paramètre day défini sur 1 et une instruction trace() confirme que la date a été correctement définie. var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getUTCDate()); // 30 someBirthday.setUTCDate(1); trace(someBirthday); // Fri Nov 1 01:20:00 GMT-0800 1974 getUTCDay()getDay()setUTCFullYear Définit l’année, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes.Entier. NumberyearNumberEntier représentant l’année spécifiée en tant qu’année entière à quatre chiffres, telle que 2000. monthNumberEntier compris entre 0 (janvier) et 11 (décembre). dayNumberEntier compris entre 1 et 31. Définit l’année, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes.

Vous pouvez éventuellement utiliser cette méthode pour définir également le mois et le jour du mois. L’appel de cette méthode ne modifie pas les autres champs, mais les méthodes Date.getUTCDay() et Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l’appel de cette méthode.

L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). La méthode getUTCFullYear() est ensuite appelée et renvoie correctement l’année au format à quatre chiffres. Ensuite, setUTCFullYear() est appelé avec le paramètre year défini sur 1975 et une instruction trace() confirme que l’année a été correctement définie. var someBirthday:Date = new Date(1974, 10, 30, 1, 20); trace(someBirthday); // Sat Nov 30 01:20:00 GMT-0800 1974 trace(someBirthday.getUTCFullYear()); // 1974 someBirthday.setUTCFullYear(1975); trace(someBirthday); // Thu Nov 30 01:20:00 GMT-0800 1975
getUTCDay()getDay()
setUTCHours Définit l’heure, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumberhourNumberEntier compris entre 0 (minuit) et 23 (23h00). minuteNumberEntier compris entre 0 et 59. secondNumberEntier compris entre 0 et 59. millisecondNumberEntier compris entre 0 et 999. Définit l’heure, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes. Permet éventuellement de spécifier les minutes, les secondes et les millisecondes. L’exemple suivant crée un nouvel objet Date someBirthday avec les paramètres year (1974), month (10 = November), day (30), hour (1) et minute (20). Les méthodes getHours(), getMinutes(), getUTCHours() et getUTCMinutes() sont ensuite appelées, ce qui extrait les heures et les minutes. Ensuite, setUTCHours() est appelé avec le paramètre hour défini sur 12. Enfin, les méthodes getHours(), getMinutes(), getUTCHours() et getUTCMinutes() sont rappelées et affichent l’heure mise à jour. var someBirthday:Date = new Date(1974, 10, 30, 15, 20); trace(someBirthday); // Sat Nov 30 15:20:00 GMT-0800 1974 trace(someBirthday.getHours() + ":" + someBirthday.getMinutes()); // 15:20 trace(someBirthday.getUTCHours() + ":" + someBirthday.getUTCMinutes()); // 23:20 someBirthday.setUTCHours(12); trace(someBirthday.getHours() + ":" + someBirthday.getMinutes()); // 4:20 trace(someBirthday.getUTCHours() + ":" + someBirthday.getUTCMinutes()); // 12:20 setUTCMilliseconds Définit les millisecondes, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumbermillisecondNumberEntier compris entre 0 et 999. Définit les millisecondes, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getUTCMilliseconds() est ensuite appelée, ce qui extrait les millisecondes UTC de l’heure de création de now. Ensuite, un autre nouvel objet Date, before, accompagné d’un appel supplémentaire à setUTCMilliseconds() avec le paramètre millisecond défini sur 4. La méthode getUTCMilliseconds() est ensuite appelée de nouveau, ce qui extrait les millisecondes qui viennent d’être définies. var now:Date = new Date(); trace(now); trace(now.getUTCMilliseconds()); var before:Date = new Date(now.setUTCMilliseconds(4)); trace(before); trace(before.getUTCMilliseconds()); setUTCMinutes Définit les minutes, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumberminuteNumberEntier compris entre 0 et 59. secondNumberEntier compris entre 0 et 59. millisecondNumberEntier compris entre 0 et 999. Définit les minutes, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes. Vous pouvez éventuellement spécifier les secondes et les millisecondes. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getUTCMinutes() est ensuite appelée, ce qui extrait les minutes UTC de l’heure de création de now. Ensuite, un autre nouvel objet Date, before, accompagné d’un appel supplémentaire à setUTCMinutes() avec le paramètre minute défini sur 0. La méthode getUTCMinutes() est ensuite appelée de nouveau, ce qui extrait les minutes qui viennent d’être définies. var now:Date = new Date(); trace(now); trace(now.getUTCMinutes()); var before:Date = new Date(now.setUTCMinutes(0)); trace(before); trace(before.getUTCMinutes()); setUTCMonth Définit le mois, et éventuellement le jour, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumbermonthNumberEntier compris entre 0 (janvier) et 11 (décembre). dayNumberEntier compris entre 1 et 31. Définit le mois, et éventuellement le jour, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes. L’appel de cette méthode ne modifie pas les autres champs, mais les méthodes Date.getUTCDay() et Date.getDay() peuvent signaler une nouvelle valeur si le jour de la semaine change suite à l’appel de cette méthode. L’exemple suivant crée un nouvel objet Array, UTCMonthLabels, avec les éléments January à December et un nouvel objet UTCMonth, now, sans paramètres. La méthode getUTCMonth() est ensuite appelée, ce qui extrait le mois UTC pendant lequel now a été créé. Ensuite la méthode setUTCMonth() est appelée avec le paramètre month défini sur 0, puis la méthode getUTCMonth() est appelée de nouveau, ce qui extrait le mois qui vient d’être défini.. var UTCMonthLabels:Array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); var now:Date = new Date(); trace(now.getUTCMonth()); trace(UTCMonthLabels[now.getUTCMonth()]); now.setUTCUTCMonth(0); trace(now.getUTCMonth()); // 0 trace(UTCMonthLabels[now.getUTCMonth()]); // January getDay()setUTCSeconds Définit les secondes, et éventuellement les millisecondes, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes.Nouvelle heure, en millisecondes. NumbersecondNumberEntier compris entre 0 et 59. millisecondNumberEntier compris entre 0 et 999. Définit les secondes, et éventuellement les millisecondes, conformément à l’heure universelle (UTC), et renvoie la nouvelle heure en millisecondes. L’exemple suivant crée un nouvel objet Date, now, sans paramètres. La méthode getUTCSeconds() est ensuite appelée, ce qui extrait les secondes de l’heure de création de now. Ensuite la méthode setUTCSeconds() est appelée avec le paramètre second défini sur 0, puis la méthode getUTCSeconds() est appelée de nouveau, ce qui extrait le mois qui vient d’être défini. var now:Date = new Date(); trace(now.getUTCSeconds()); now.setUTCSeconds(0); trace(now.getUTCSeconds()); // 0 toDateString Renvoie une représentation sous forme de chaîne du jour et de la date uniquement et n’inclut ni l’heure, ni le fuseau horaire.Représentation sous forme de chaîne du jour et de la date uniquement. String Renvoie une représentation sous forme de chaîne du jour et de la date uniquement et n’inclut ni l’heure, ni le fuseau horaire. Comparez-la aux méthodes suivantes :
  • Date.toTimeString(), qui renvoie l’heure et le fuseau horaire uniquement,
  • Date.toString(), qui renvoie non seulement le jour et la date, mais aussi l’heure et le fuseau horaire.
L’exemple suivant crée un objet Date, now, sans paramètre. Ensuite les méthodes suivantes sont appelées au sein d’une instruction trace().
  • toString : affiche tous les paramètres de now en fonction de l’heure de création de now.
  • toDateString() : affiche les paramètres day, month et year correspondant à l’heure de création de now.
var now:Date = new Date(); trace(now); trace(now.toDateString());
toString()
toLocaleDateString Renvoie une représentation sous forme de chaîne du jour et de la date uniquement et n’inclut ni l’heure, ni le fuseau horaire.Représentation String du jour et de la date uniquement. String Renvoie une représentation sous forme de chaîne du jour et de la date uniquement et n’inclut ni l’heure, ni le fuseau horaire. Cette méthode renvoie la même valeur que Date.toDateString. Comparez-la aux méthodes suivantes :
  • Date.toTimeString(), qui renvoie l’heure et le fuseau horaire uniquement,
  • Date.toString(), qui renvoie non seulement le jour et la date, mais aussi l’heure et le fuseau horaire.
toDateString()toTimeString()toString()
toLocaleString Renvoie une représentation sous forme de chaîne du jour, de la date et de l’heure en heure locale.Représentation sous forme de chaîne d’un objet Date dans le fuseau horaire local. String Renvoie une représentation sous forme de chaîne du jour, de la date et de l’heure en heure locale. Comparez cette méthode à la méthode Date.toString(), qui renvoie les mêmes informations (plus le fuseau horaire) et insère l’année en fin de chaîne. toLocaleTimeString Renvoie une représentation sous forme de chaîne de l’heure uniquement et n’inclut ni le jour, ni la date, ni l’année, ni le fuseau horaire.Représentation sous forme de chaîne de l’heure et du fuseau horaire uniquement. String Renvoie une représentation sous forme de chaîne de l’heure uniquement et n’inclut ni le jour, ni la date, ni l’année, ni le fuseau horaire. Comparez cette méthode à la méthode Date.toTimeString(), qui renvoie l’heure et le fuseau horaire. toTimeString()toString Renvoie une représentation sous forme de chaîne du jour, de la date, de l’heure et du fuseau horaire.Représentation sous forme de chaîne d’un objet Date. String Renvoie une représentation sous forme de chaîne du jour, de la date, de l’heure et du fuseau horaire. Le format de date utilisé pour la sortie est le suivant :
     Day Mon Date HH:MM:SS TZD YYYY
     

Par exemple :

     Wed Apr 12 15:30:17 GMT-0700 2006
     
L’exemple suivant crée un objet Date, now, sans paramètre. Ensuite, toString est appelé au sein d’une instruction trace(), qui affiche tous les paramètres de now en fonction de l’heure de création de now. var now:Date = new Date(); trace(now);
toTimeString Renvoie une représentation sous forme de chaîne de l’heure et du fuseau horaire uniquement et n’inclut ni le jour, ni la date.Représentation sous forme de chaîne de l’heure et du fuseau horaire uniquement. String Renvoie une représentation sous forme de chaîne de l’heure et du fuseau horaire uniquement et n’inclut ni le jour, ni la date. Comparez cette méthode à la méthode Date.toDateString(), qui ne renvoie que le jour et la date. toDateString()toUTCString Renvoie une représentation sous forme de chaîne du jour, de la date et de l’heure en heure universelle (UTC).Représentation sous forme de chaîne d’un objet Date en heure UTC. String Renvoie une représentation sous forme de chaîne du jour, de la date et de l’heure en heure universelle (UTC). Par exemple, la date du premier février 2005 est renvoyée sous la forme Tue Feb 1 00:00:00 2005 UTC. toString()valueOf Renvoie le nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour un objet Date.Nombre de millisecondes écoulées depuis le premier janvier 1970 représenté par un objet Date. Number Renvoie le nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour un objet Date. L’exemple suivant crée un objet Date, now sans paramètre. Ensuite, la méthode getTime() est appelée, ce qui extrait le nombre de millisecondes séparant l’heure de création de now et minuit le premier janvier 1970. Enfin, la méthode valueOf() est appelée, ce qui extrait la même chose. var now:Date = new Date(); trace(now.getTime()); trace(now.valueOf()); dateUTC Jour du mois (entier compris entre 1 et 31) d’un objet Date, conformément à l’heure universelle (UTC).Number Jour du mois (entier compris entre 1 et 31) d’un objet Date, conformément à l’heure universelle (UTC). getUTCDate()setUTCDate()date Jour du mois (entier compris entre 1 et 31) spécifié par un objet Date conformément à l’heure locale.Number Jour du mois (entier compris entre 1 et 31) spécifié par un objet Date conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. getDate()setDate()dayUTC Jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) de l’objet Date conformément à l’heure universelle (UTC).Number Jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) de l’objet Date conformément à l’heure universelle (UTC). getUTCDay()day Jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) spécifié par l’objet Date conformément à l’heure locale.Number Jour de la semaine (0 pour dimanche, 1 pour lundi, etc.) spécifié par l’objet Date conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. getDay()fullYearUTC Année à quatre chiffres d’un objet Date, conformément à l’heure universelle (UTC).Number Année à quatre chiffres d’un objet Date, conformément à l’heure universelle (UTC). getUTCFullYear()setUTCFullYear()fullYear Année entière (un nombre à quatre chiffres, tel que 2000) d’un objet Date conformément à l’heure locale.Number Année entière (un nombre à quatre chiffres, tel que 2000) d’un objet Date conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. getFullYear()setFullYear()hoursUTC Heure (entier compris entre 0 et 23) du jour d’un objet Date, conformément à l’heure universelle (UTC).Number Heure (entier compris entre 0 et 23) du jour d’un objet Date, conformément à l’heure universelle (UTC). getUTCHours()setUTCHours()hours Heure (entier compris entre 0 et 23) de la partie jour d’un objet Date, conformément à l’heure locale.Number Heure (entier compris entre 0 et 23) de la partie jour d’un objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. getHours()setHours()millisecondsUTC Partie millisecondes (entier compris entre 0 et 999) d’un objet Date, conformément à l’heure universelle (UTC).Number Partie millisecondes (entier compris entre 0 et 999) d’un objet Date, conformément à l’heure universelle (UTC). getUTCMilliseconds()setUTCMilliseconds()milliseconds Partie millisecondes (entier compris entre 0 et 999) d’un objet Date, conformément à l’heure locale.Number Partie millisecondes (entier compris entre 0 et 999) d’un objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. getMilliseconds()setMilliseconds()minutesUTC Partie minutes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure universelle (UTC).Number Partie minutes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure universelle (UTC). getUTCMinutes()setUTCMinutes()minutes Partie minutes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure locale.Number Partie minutes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. getMinutes()setMinutes()monthUTC Le mois (0 [janvier] à 11 [décembre]) d’un objet Date, conformément à l’heure universelle (UTC).Number Partie mois (0 [janvier] à 11 [décembre]) d’un objet Date, conformément à l’heure universelle (UTC). getUTCMonth()setUTCMonth()month Partie mois (0 pour janvier, 1 pour février, etc.) d’un objet Date, conformément à l’heure locale.Number Partie mois (0 pour janvier, 1 pour février, etc.) d’un objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. getMonth()setMonth()secondsUTC Partie secondes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure universelle (UTC).Number Partie secondes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure universelle (UTC). getUTCSeconds()setUTCSeconds()seconds Partie secondes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure locale.Number Partie secondes (entier compris entre 0 et 59) d’un objet Date, conformément à l’heure locale. L’heure locale est déterminée par le système d’exploitation sur lequel les moteurs d’exécution de Flash sont exécutés. getSeconds()setSeconds()time Nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour un objet Date.Number Nombre de millisecondes écoulées depuis le premier janvier 1970 à minuit, heure universelle, pour un objet Date. Cette méthode permet de représenter un instant spécifique dans le temps lorsque vous comparez au moins deux objets Date. getTime()setTime()timezoneOffset Différence, en minutes, entre le temps universel (UTC) et l’heure locale de l’ordinateur.Number Différence, en minutes, entre le temps universel (UTC) et l’heure locale de l’ordinateur. De façon plus précise, cette valeur correspond au nombre de minutes que vous devez ajouter à l’heure locale de l’ordinateur pour obtenir l’heure UTC. Si votre ordinateur est en avance sur l’heure UTC, la valeur renvoyée est négative. getTimezoneOffset()
Object La classe Object forme la racine de la hiérarchie de classes d’exécution ActionScript. La classe Object forme la racine de la hiérarchie de classes ActionScript. Les objets sont créés à l’aide de constructeurs en appliquant la syntaxe de l’opérateur new et vous pouvez leur affecter des propriétés de façon dynamique. Vous pouvez également créer des objets en affectant un littéral d’objet, comme suit : var obj:Object = {a:"foo", b:"bar"}

Toutes les classes qui ne déclarent pas de classe de base explicite étendent la classe Object intégrée.

Vous pouvez utiliser la classe Object pour créer des associative arrays. Sous sa forme de base, un tableau associatif est une occurrence de la classe Object et chaque paire clé/valeur est représentée par une propriété et sa valeur. Vous pouvez également déclarer un tableau associatif à l’aide du type de données Object pour la raison suivante : cela vous permet d’utiliser ensuite un littéral d’objet pour alimenter votre tableau associatif (uniquement au moment de la déclaration). L’exemple suivant crée un tableau associatif à l’aide d’un littéral d’objet, accède aux éléments à l’aide de l’opérateur point et d’accès au tableau, puis ajoute une nouvelle paire clé/valeur en créant une nouvelle propriété :

var myAssocArray:Object = {fname:"John", lname:"Public"}; trace(myAssocArray.fname); // John trace(myAssocArray["lname"]); // Public myAssocArray.initial = "Q"; trace(myAssocArray.initial); // Q

ActionScript 3.0 dispose de deux types d’héritage : par classe et par prototype :

  • L’héritage de classe est le principal mécanisme d’héritage et prend en charge l’héritage des propriétés fixes. Une propriété fixe est une variable, une constante ou une méthode déclarée dans le cadre d’une définition de classe. Chaque définition de classe est à présent représentée par un objet de classe spécial qui mémorise les informations relatives à la classe.
  • Héritage par prototype : il s’agissait de l’unique mécanisme d’héritage des versions précédentes d’ActionScript et constitue l’une des deux solutions d’héritage d’ActionScript 3.0. Chaque classe est associée à un objet prototype et les propriétés de l’objet prototype sont partagées par tous les héritages de la classe. Lorsqu’une classe est générée, elle contient une référence à l’objet prototype correspondant, qui sert de lien entre l’occurrence et l’objet prototype de classe associé. Lors de l’exécution, si une propriété ne figure pas dans une occurrence de classe, elle est recherchée dans le délégué, à savoir l’objet prototype de la classe. Si l’objet prototype ne contient pas la propriété, le processus se poursuit et le délégué de l’objet prototype effectue des recherches dans des niveaux de plus en plus élevés de la hiérarchie jusqu’à ce que le moteur d’exécution de Flash trouve la propriété.

L’héritage de classe et l’héritage de prototype peuvent coexister, comme illustré dans l’exemple suivant :

class A { var x = 1 prototype.px = 2 } dynamic class B extends A { var y = 3 prototype.py = 4 } var b = new B() b.x // 1 via class inheritance b.px // 2 via prototype inheritance from A.prototype b.y // 3 b.py // 4 via prototype inheritance from B.prototype B.prototype.px = 5 b.px // now 5 because B.prototype hides A.prototype b.px = 6 b.px // now 6 because b hides B.prototype

Si vous utilisez des fonctions au lieu de classes, vous pouvez générer des arborescences d’héritage de prototype personnalisées. Avec les classes, l’arborescence d’héritage de prototype reflète à l’identique l’arborescence d’héritage de classe. Cependant, les objets prototype étant dynamiques, vous pouvez ajouter et supprimer des propriétés associées aux prototypes lors de l’exécution.

L’exemple suivant utilise les classes ObjectExample et Circle pour démontrer la nature dynamique de la classe Object et la façon dont les objets de valeur peuvent être transformés en objets Shape, puis ajoutés à la scène aux coordonnées x/y spécifiées.

L’exemple crée les objets de valeur firstInitObj et secondInitObj. La classe personnalisée Circle accepte l’objet valeur et exécute une boucle sur ce dernier tout en définissant ses propriétés internes correspondantes sur celles qui sont définies dans l’objet de valeur.

package { import flash.display.Sprite; public class ObjectExample extends Sprite { public function ObjectExample() { var firstInitObj:Object = new Object(); firstInitObj.bgColor = 0xFF0000; firstInitObj.radius = 25; firstInitObj.xCenter = 25; firstInitObj.yCenter = 25; var firstCircle:Circle = new Circle(firstInitObj); addChild(firstCircle); firstCircle.x = 50; firstCircle.y = 50; var secondInitObj:Object = {bgColor:0xCCCCCC, radius:50, xCenter:50, yCenter:50}; var secondCircle:Circle = new Circle(secondInitObj); addChild(secondCircle); secondCircle.x = 100; secondCircle.y = 100; } } } import flash.display.Shape; class Circle extends Shape { public var bgColor:Number = 0xFFFFFF; public var radius:Number = 0; public var xCenter:Number = 0; public var yCenter:Number = 0; public function Circle(initObj:Object) { for(var i:String in initObj) { this[i] = initObj[i]; } draw(); } public function draw():void { graphics.beginFill(bgColor); graphics.drawCircle(xCenter, yCenter, radius); graphics.endFill(); } }
prototypeObject Crée un objet Object et stocke une référence à la méthode constructeur de l’objet dans la propriété constructor de ce dernier. Crée un objet Object et stocke une référence à la méthode constructeur de l’objet dans la propriété constructor de ce dernier. hasOwnProperty Indique si la propriété spécifiée d’un objet est définie.Renvoie name si l’objet cible comporte la propriété spécifiée par le paramètre true, false dans tous les autres cas. BooleannameStringPropriété de l’objet. Indique si la propriété spécifiée d’un objet est définie. Cette méthode renvoie true si l’objet cible comporte une propriété qui correspond à la chaîne spécifiée par le paramètre name et false dans les autres cas. Les types de propriétés suivants forcent la méthode à renvoyer la valeur true pour les objets qui sont des occurrences de classe, plutôt que des objets de classe :
  • Propriétés d’occurrence fixes : variables, constantes ou méthodes définies par la classe de l’objet qui ne sont pas statiques.
  • Propriétés d’occurrence fixes héritées : variables, constantes ou méthodes héritées par la classe de l’objet.
  • Propriétés dynamiques : propriétés ajoutées à un objet après son instanciation (hors de la définition de classe). Pour ajouter des propriétés dynamiques, la classe de définition de l’objet doit être déclarée avec le mot-clé dynamic.

Les types de propriétés suivants forcent la méthode à renvoyer la valeur false pour les objets qui sont des occurrences de classe :

  • Propriétés statiques : variables, constantes ou méthodes définies avec le mot-clé statique dans la classe de définition d’un objet ou dans l’une de ses super-classes.
  • Propriétés de prototype : propriétés définies pour un objet prototype appartenant à la chaîne de prototype de l’objet. Dans ActionScript 3.0, la chaîne de prototype n’est pas utilisée pour l’héritage de classe, mais demeure une autre forme d’héritage valide. Par exemple, une occurrence de la classe Array peut accéder à la méthode valueOf() parce qu’elle est associée à Object.prototype, qui fait partie de la chaîne de prototype de la classe Array. Bien que vous puissiez utiliser valueOf() sur une occurrence d’Array, la valeur renvoyée par hasOwnProperty("valueOf") pour cette occurrence correspond à false.

ActionScript 3.0 gère également les objets de classe, qui sont des représentations directes des définitions de classe. Si vous l’appelez sur un objet de classe, la méthode hasOwnProperty() ne renvoie true que si une propriété fait partie des propriétés statiques associées à l’objet de classe. Par exemple, si vous créez une sous-classe d’Array appelée CustomArray et que vous définissez une propriété statique dans CustomArray appelée foo, tout appel de CustomArray.hasOwnProperty("foo") renvoie true. Cependant, pour la propriété statique DESCENDING définie dans la classe Array, un appel de CustomArray.hasOwnProperty("DESCENDING") renvoie false.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Une sous-classe d’Object implémente par exemple function hasOwnProperty():Boolean au lieu d’utiliser un remplacement de la classe de base.

isPrototypeOf Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.Renvoie true si l’objet figure dans la chaîne de prototype de l’objet spécifié par le paramètre theClass, false dans le cas contraire. BooleantheClassObjectClasse à laquelle risque de se référer l’objet spécifié. Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. Cette méthode renvoie true si l’objet figure dans le chaînage de prototype de l’objet spécifié par le paramètre theClass. La méthode renvoie false si l’objet cible est absent de la chaîne de prototype de l’objet theClass et si le paramètre theClass n’est pas un objet.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Une sous-classe d’Object implémente par exemple function isPrototypeOf():Boolean au lieu d’utiliser un remplacement de la classe de base.

propertyIsEnumerable Indique si la propriété spécifiée existe et est énumérable.Renvoie true si la propriété spécifiée par le paramètre name est énumérable, false dans le cas contraire. BooleannameStringPropriété de l’objet. Indique si la propriété spécifiée existe et est énumérable. Si la valeur est true, la propriété existe et peut être énumérée dans une boucle for..in. La propriété doit exister au niveau de l’objet cible dans la mesure où cette méthode ne vérifie pas la chaîne de prototype de l’objet cible.

Les propriétés que vous créez sont énumérables, contrairement aux propriétés intégrées qui ne le sont généralement pas.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Une sous-classe d’Object implémente par exemple function propertyIsEnumerable():Boolean au lieu d’utiliser un remplacement de la classe de base.

setPropertyIsEnumerable Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.nameStringPropriété de l’objet. isEnumBooleantrue Si défini sur false, la propriété dynamique est ignorée dans les boucles for..in et la méthode propertyIsEnumerable() renvoie false. Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. La propriété doit exister au niveau de l’objet cible dans la mesure où cette méthode ne vérifie pas la chaîne de prototype de l’objet cible. propertyIsEnumerable()toLocaleString Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.Une représentation de cet objet sous forme de chaîne, formatée conformément aux conventions locales. String Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.

Par défaut, l’implémentation de cette méthode n’entraîne pas le formatage selon les paramètres régionaux et renvoie la même chaîne que toString(). Les sous-classes doivent fournir leur propre implémentation en fonction des paramètres régionaux lorsque cela est nécessaire.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Par exemple, une sous-classe d’Object implémente la méthode function toLocaleString():String au lieu d’avoir recours au remplacement de la classe de base.

Object.toString()
toString Renvoie la représentation sous forme de chaîne de l’objet spécifié.Représentation sous forme de chaîne de l’objet. String Renvoie la représentation sous forme de chaîne de l’objet spécifié.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Par exemple, une sous-classe d’Object implémente function toString():String au lieu d’utiliser un remplacement de la classe de base.

valueOf Renvoie la valeur primitive de l’objet spécifié.Valeur primitive de l’objet ou l’objet lui-même. Object Renvoie la valeur primitive de l’objet spécifié. Si l’objet n’a pas de valeur primitive, il est lui-même renvoyé.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Une sous-classe d’Object implémente par exemple function valueOf():Object au lieu d’utiliser un remplacement de la classe de base.

Object.toString()
constructor Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.Object Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. Si un objet est une occurrence de classe, la propriété constructor contient une référence à l’objet de classe. Si un objet est créé par le biais d’une fonction constructeur, la propriété constructor contient une référence à la fonction constructeur. Ne confondez pas une fonction constructeur avec une méthode constructeur de classe. Une fonction constructeur est un objet Function permettant de créer des objets et peut être utilisée au lieu du mot-clé class pour définir des classes.

Si vous utilisez le mot-clé class pour définir une classe, la propriété constructor, qui contient une référence à l’objet de classe, est affectée à l’objet prototype correspondant. Une occurrence de la classe hérite de cette propriété à partir de l’objet prototype. Le code suivant crée par exemple une classe, A, et une occurrence de classe, myA :

dynamic class A {} trace(A.prototype.constructor); // [class A] trace(A.prototype.constructor == A); // true var myA:A = new A(); trace(myA.constructor == A); // true

Les utilisateurs chevronnés peuvent opter pour le mot-clé function au lieu du mot-clé class pour définir un objet Function, qui pourra servir de modèle de création d’objet. Ce type de fonction porte le nom de fonction constructeur, car vous pouvez l’utiliser en conjonction avec l’opérateur new pour créer des objets. Si vous utilisez le mot-clé function pour créer une fonction constructeur, la propriété constructor, qui contient une référence à la fonction constructeur, est affectée à l’objet prototype correspondant. Si vous utilisez ensuite la fonction constructeur pour créer un objet, celui-ci hérite de la propriété constructor à partir de l’objet prototype de la fonction constructeur. Le code suivant crée par exemple une fonction constructeur, f, et un objet, myF :

function f() {} trace(f.prototype.constructor); // function Function() {} trace(f.prototype.constructor == f); // true var myF = new f(); trace(myF.constructor == f); // true

Remarque : la propriété constructor est accessible en écriture, ce qui signifie que la valeur du code utilisateur peut être modifiée par une instruction d’affectation. Il n’est pas recommandé de modifier la valeur de la propriété constructor, mais si vous rédigez du code affecté par la valeur de la propriété constructor, assurez-vous que la valeur n’est pas réinitialisée. La valeur ne peut être modifiée que lors d’un accès à la propriété par le biais de l’objet prototype (className.prototype.constructor, par exemple).

Si vous accédez à la propriété constructor et compilez en mode strict, vous obtenez une erreur lors de la compilation, car la propriété constructor dépend de l’objet prototype, ce qui est une entité d’exécution. Si vous utilisez mode standard ou si la description de la classe spécifie « dynamic », le code s’exécute sans générer d’erreur.

ClasseFonctionprototype
prototype Référence à l’objet prototype d’un objet de classe ou fonction.Object Référence à l’objet prototype d’un objet de classe ou fonction. La propriété prototype est créée automatiquement et est liée à tout objet de classe ou fonction que vous créez. Cette propriété est statique dans la mesure où elle est propre à la classe ou la fonction que vous créez. Par exemple, si vous créez une classe, la valeur de la propriété prototype est partagée par toutes les occurrences de la classe et est accessible uniquement en tant que propriété de classe. Les occurrences de votre classe ne peuvent pas accéder directement à la propriété prototype.

L’objet prototype d’une classe est une occurrence spéciale de cette classe, qui propose un mécanisme de partage d’état parmi toutes les occurrences d’une classe. Lors de l’exécution, si une propriété ne figure pas dans une occurrence de classe, elle est recherchée dans le délégué, à savoir l’objet prototype de la classe. Si l’objet prototype ne contient pas la propriété, le processus se poursuit et le délégué de l’objet prototype effectue des recherches dans des niveaux de plus en plus élevés de la hiérarchie jusqu’à ce que le moteur d’exécution de Flash trouve la propriété.

Remarque : dans ActionScript 3.0, l’héritage de prototype ne constitue pas le principal mécanisme d’héritage. Ce rôle incombe à l’héritage de classe, qui assure l’héritage des propriétés fixes dans les définitions de classe.

URIError Une exception URIError est renvoyée lorsque l’une des fonctions de gestion URI globales est utilisée d’une manière qui n’est pas compatible avec sa définition.Error Une exception URIError est renvoyée lorsque l’une des fonctions de gestion URI globales est utilisée d’une manière qui n’est pas compatible avec sa définition. Cette exception est renvoyée si une URI non valide est transmise à une fonction qui attend un URI valide, tel que la méthode Socket.connect(). flash.net.Socket.connect()URIError Crée un objet URIError.messageStringContient le message associé à l’objet URIError. Crée un objet URIError. SecurityError L’exception SecurityError est renvoyée lorsqu’il se produit certains types de violation de la sécurité.Error L’exception SecurityError est renvoyée lorsqu’il se produit certains types de violation de la sécurité.

Exemples d’erreurs liées à la sécurité :

  • Un accès à une propriété ou un appel de méthode non autorisé est effectué en franchissant les limites du sandbox de sécurité.
  • Il s’est produit une tentative d’accès à une URL non autorisée par le sandbox de sécurité.
  • Une connexion socket a été tentée vers un numéro de port non autorisé, tel qu’un port supérieur à 65535.
  • Il s’est produit une tentative d’accès à la caméra ou au microphone de l’utilisateur et celui-ci a refusé la demande d’accès au périphérique.
L’exemple suivant indique comment une erreur SecurityError peut être générée et traitée au sein d’une instruction try...catch en tentant de se connecter à un numéro de port qui est supérieur d’une unité au maximum autorisé. package { import flash.display.Sprite; import flash.net.Socket; public class SecurityErrorExample extends Sprite { public function SecurityErrorExample() { try { var host:String = "www.[yourDomain].com"; var socket:Socket = new Socket(); socket.connect(host, 65536); } catch(e:SecurityError) { trace(e); } } } }
SecurityError Crée un objet SecurityError.messageString Crée un objet SecurityError.
ReferenceError Une exception ReferenceError est renvoyée lorsque vous tentez d’utiliser une référence à une propriété non définie pour un objet scellé (non dynamique).Error Une exception ReferenceError est renvoyée lorsque vous tentez d’utiliser une référence à une propriété non définie pour un objet scellé (non dynamique). Les références à des variables non définies entraînent le renvoi d’exceptions ReferenceError pour vous avertir de bogues éventuels et vous aider à dépanner le code de l’application.

Vous pouvez cependant faire référence à des propriétés non définies d’une classe dynamique sans entraîner le renvoi d’une exception ReferenceError. Pour plus d’informations, voir le mot-clé dynamic.

L’exemple suivant indique comment générer une exception ReferenceError et la traiter avec une instruction try..catch. package { import flash.display.Sprite; public class ReferenceErrorExample extends Sprite { public function ReferenceErrorExample() { try { this["someMember"] = true; } catch(e:ReferenceError) { trace(e); } } } }
mot-clé dynamiqueReferenceError Crée un objet ReferenceError.messageStringContient le message associé à l’objet ReferenceError. Crée un objet ReferenceError.
RangeError Une exception RangeError est renvoyée si une valeur numérique excède la plage gérée.Error Une exception RangeError est renvoyée si une valeur numérique excède la plage gérée. Lorsque vous traitez des tableaux, toute référence à une position d’index inexistante d’un élément du tableau renvoie une exception RangeError. L’utilisation des méthodes Number.toExponential(), Number.toPrecision() et Number.toFixed() renvoie une exception RangeError si les arguments excèdent la plage numérique gérée. Pour éviter de renvoyer une exception RangeError, vous pouvez étendre Number.toExponential(), Number.toPrecision() et Number.toFixed().

D’autres cas de figure entraînent le renvoi de cette exception, notamment :

  • Une API du moteur d’exécution de Flash qui attend un numéro de profondeur est appelée avec une valeur de profondeur non valide.
  • Une API du moteur d’exécution de Flash qui attend un numéro d’image est appelée avec un numéro d’image non valide.
  • Une API du moteur d’exécution Flash qui attend un numéro de calque est appelée avec un numéro de calque non valide.

L’exemple suivant indique comment générer une exception RangeError et la traiter avec une instruction try..catch. package { import flash.display.Sprite; public class RangeErrorExample extends Sprite { public function RangeErrorExample() { var child:Sprite = new Sprite(); try { addChildAt(child, 1); } catch(e:RangeError) { trace(e); } } } }
Number.toExponential()Number.toPrecision()Number.toFixed()RangeError Crée un objet RangeError.messageStringContient le message associé à l’objet RangeError. Crée un objet RangeError.
int La classe int vous permet de manipuler les types de données représentant un entier 32 bits signé.Object La classe int vous permet de manipuler les types de données représentant un entier 32 bits signé. La plage de valeurs représentées par la classe int est comprise entre -2 147 483 648 (-2^31) et 2 147 483 647 (2^32-1).

Les propriétés des constantes de la classe int, MAX_VALUE et MIN_VALUE sont statiques, ce qui signifie qu’il n’est pas nécessaire de disposer d’un objet pour les utiliser ; par conséquent, il n’est pas nécessaire d’utiliser le constructeur. En revanche, les méthodes n’étant pas statiques, vous devez utiliser un objet pour y faire appel. Pour créer un objet int, utilisez le constructeur de la classe int ou déclarez une variable de type int et affectez-lui une valeur littérale.

Similaire au type de données int dans Java et C++, le type de données int s’avère utile pour les compteurs de boucles et les cas où un nombre à virgule flottante n’est pas nécessaire. La valeur par défaut d’une variable de type int correspond à 0

Si vous manipulez des nombres supérieurs à int.MAX_VALUE, envisagez l’utilisation de Number.

L’exemple suivant appelle la méthode toString() de la classe int, qui renvoie la chaîne 1234 :

var myint:int = 1234; myint.toString();

L’exemple suivant affecte la valeur de la propriété MIN_VALUE à une variable déclarée sans l’utilisation du constructeur :

 var smallest:int = int.MIN_VALUE;
 
L’exemple suivant exploite la classe IntExample pour indiquer comment manipuler les données de type int et vérifier leur validité :
  1. Deux variables int, a et b, sont déclarées dans le constructeur.
  2. Les deux ints sont ajoutés à l’aide de la méthode addIntegers().
  3. Une troisième variable int, c reçoit la sortie de parseInteger(), qui vérifie la validité de la chaîne qui lui a été transmise pour s’assurer qu’il s’agit bien d’un entier avec une plage acceptable pour les types de données int. Elle renvoie ensuite une valeur int qui est égale à l’entier de la valeur de la chaîne, si cette dernière est valide.
  4. Les variables int, a et c, sont ajoutées à l’aide de addIntegers().
package { import flash.display.Sprite; public class IntExample extends Sprite { public function IntExample() { var a:int = 512; var b:int = -128; trace(addIntegers(a, b)); // 384 var c:int = parseInteger("32"); trace(addIntegers(a, c)); // 544 } public function addIntegers(a:int, b:int):int { return a + b; } public function parseInteger(str:String):int { var num:Number = parseInt(str); if(!isNaN(num) && num <= int.MAX_VALUE && num >= int.MIN_VALUE) { return int(num); } return 0; } } }
uintNumberint Constructeur qui crée un nouvel objet int.numObjectValeur numérique de l’objet int en cours de création, ou valeur à convertir en nombre. La valeur par défaut est 0 si value n’est pas fourni. Constructeur qui crée un nouvel objet int. L’utilisation du constructeur int est obligatoire si vous utilisez int.toString() et int.valueOf(). Ne faites pas appel à un constructeur si vous utilisez les propriétés d’un objet int. Le constructeur new int sert surtout d’espace réservé. Ne confondez pas l’objet int avec la fonction int(), qui convertit un paramètre en valeur primitive. Le code suivant crée de nouveaux objets int :
	 var n1:int = new int(3.4);
	 var n2:int = new int(-10);
	 
int.toString()int.valueOf()
toExponential Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle.Renvoie une exception si l’argument fractionDigits n’est pas compris entre 0 et 20. RangeErrorRangeErrorStringfractionDigitsuintEntier compris entre 0 et 20 inclus qui représente le nombre requis de décimales. Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle. La chaîne contient un chiffre avant la virgule et jusqu’à 20 décimales, comme spécifié par le paramètre fractionDigits. L’exemple suivant indique comment toExponential(2) renvoie une chaîne sous forme de notation exponentielle. var num:Number = 315003; trace(num.toExponential(2)); // 3.15e+5 toFixed Renvoie une représentation sous forme de chaîne du nombre en notation à virgule fixe.Renvoie une exception si l’argument fractionDigits n’est pas compris entre 0 et 20. RangeErrorRangeErrorStringfractionDigitsuintEntier compris entre 0 et 20 inclus qui représente le nombre requis de décimales. Renvoie une représentation sous forme de chaîne du nombre en notation à virgule fixe. La notation à virgule fixe signifie que la chaîne contiendra un nombre spécifique de décimales, indiqué par le paramètre fractionDigits. Le paramètre fractionDigits gère une plage de valeurs comprises entre 0 et 20. Spécifier une valeur qui excède cette plage entraîne le renvoi d’une exception. L’exemple suivant indique comment toFixed(3) renvoie une chaîne qui arrondit le résultat à trois chiffres après la virgule. var num:Number = 7.31343; trace(num.toFixed(3)); // 7.313 L’exemple suivant indique comment toFixed(2) renvoie une chaîne qui ajoute des zéros à la fin. var num:Number = 4; trace(num.toFixed(2)); // 4.00 toPrecision Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle ou à virgule fixe.Renvoie une exception si l’argument precision n’est pas compris entre 1 et 21. RangeErrorRangeErrorStringprecisionuintEntier compris entre 1 et 21 inclus qui indique le nombre requis de décimales dans la chaîne générée. Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle ou à virgule fixe. La chaîne contiendra le nombre de décimales spécifié par le paramètre precision. L’exemple suivant indique comment toPrecision(3) renvoie une chaîne limitée à trois chiffres. La chaîne recourt à la notation à point fixe, dans la mesure où la notation exponentielle n’est pas requise. var num:Number = 31.570; trace(num.toPrecision(3)); // 31.6 L’exemple suivant indique comment toPrecision(3) renvoie une chaîne limitée à trois chiffres. La chaîne applique la notation exponentielle dans la mesure où le nombre qui en résulte ne contient pas suffisamment de chiffres pour la notation à point fixe. var num:Number = 4000; trace(num.toPrecision(3)); // 4.00e+3 toString Renvoie la représentation sous forme de chaîne d’un objet int.Chaîne. StringradixuintSpécifie la base numérique (de 2 à 36) à appliquer pour la conversion nombre vers chaîne. Si vous omettez le paramètre radix, la valeur par défaut est de 10. Renvoie la représentation sous forme de chaîne d’un objet int. L’exemple suivant utilise 2 et 8 pour le paramètre radix et renvoie une chaîne qui contient la représentation correspondante du numéro 9 :
	 var myint:int = new int(9);
	 trace(myint.toString(2)); // 1001
	 trace(myint.toString(8)); // 11
	 

L’exemple suivant renvoie une valeur hexadécimale.

	 var r:int = new int(250);
	 var g:int = new int(128);
	 var b:int = new int(114);
	 var rgb:String = "0x"+ r.toString(16)+g.toString(16)+b.toString(16);
	 trace(rgb); // 0xfa8072
	 
valueOf Renvoie la valeur primitive de l’objet int spécifié.Valeur int. int Renvoie la valeur primitive de l’objet int spécifié. L’exemple suivant a pour résultat la valeur primitive de l’objet numSocks.
	 var numSocks:int = new int(2);
	 trace(numSocks.valueOf()); // 2
	 
MAX_VALUE Entier signé 32 bits représentable le plus élevé, soit 2 147 483 647.2147483647int Entier signé 32 bits représentable le plus élevé, soit 2 147 483 647. Le code ActionScript suivant afficheécrit l’objet int représentable le plus élevé et l’objet int représentable le plus faible dans le panneau Sortiedans le fichier journal :
	trace("int.MIN_VALUE = "+int.MIN_VALUE);
	trace("int.MAX_VALUE = "+int.MAX_VALUE);
	

Ce code inscrit dans le fichier journalaffiche les valeurs suivantes :

	int.MIN_VALUE = -2147483648
	int.MAX_VALUE = 2147483647
	
MIN_VALUE Entier signé 32 bits représentable le plus faible, soit -2 147 483 648.-2147483648int Entier signé 32 bits représentable le plus faible, soit -2 147 483 648. Le code ActionScript suivant afficheécrit les objets int représentables le plus élevé et le plus faible dans le panneau Sortiedans le fichier journal :
     trace("int.MIN_VALUE = "+int.MIN_VALUE);
     trace("int.MAX_VALUE = "+int.MAX_VALUE);
     

Ce code inscrit dans le fichier journalaffiche les valeurs suivantes :

	int.MIN_VALUE = -2147483648
	int.MAX_VALUE = 2147483647
     
Number Type de données représentant un nombre à virgule flottante à deux décimales conforme à IEEE -754.La classe Number est une enveloppe simple dédiée au type de données Number. Object Type de données représentant un nombre à virgule flottante à deux décimales conforme à IEEE -754. Vous pouvez manipuler des valeurs numériques primitives à l’aide des méthodes et des propriétés associées à la classe Number. Cette classe est identique à la classe JavaScript Number.

Les propriétés de la classe Number sont statiques, ce qui signifie qu’il n’est pas nécessaire de disposer d’un objet pour les utiliser ; par conséquent, il n’est pas nécessaire d’utiliser le constructeur.

Le type de données Number est conforme à la norme IEEE-754 relative aux nombres à deux décimales.

Il s’avère utile lorsque vous utilisez des valeurs à virgule flottante. Les moteurs d’exécution de Flash gèrent mieux les types de données int et uint que le type de données Number, mais Number est utile lorsque la plage de valeurs requises dépasse la plage valide des types de données int et uint. La classe Number permet de représenter des valeurs d’entier qui dépassent nettement la plage valide des types de données int et uint. Le type de données Number utilise jusqu’à 53 bits pour représenter les valeurs d’entier, alors que int et uint sont limités à 32 bits. La valeur par défaut d’une variable de type Number est NaN (n’est pas un nombre).

L’exemple suivant indique comment un nombre à six chiffres après la virgule est tronqué et arrondi pour obtenir avec un nombre à deux chiffres après la virgule. package { import flash.display.Sprite; public class NumberExample extends Sprite { public function NumberExample() { var num:Number = new Number(10.456345); var str:String = num.toFixed(2); trace(num); // 10.456345 trace(str); // 10.46 } } }
intuintNumber Crée un objet Number à la valeur spécifiée.numObjectLa valeur numérique de l’occurrence de Number en cours de création, ou valeur à convertir en objet Number. La valeur par défaut est de 0 si num n’est pas spécifié. Utiliser le constructeur sans spécifier de paramètre num n’est pas équivalent à la déclaration d’une variable de type Number à laquelle n’est affectée aucune valeur (telle que var myNumber:Number), qui correspond par défaut à NaN. Un nombre auquel n’est pas affectée de valeur n’est pas défini et constitue l’équivalent de new Number(undefined). Crée un objet Number à la valeur spécifiée. Crée un objet Number à la valeur spécifiée. L’effet de ce constructeur est identique à celui de la fonction native publique Number(), qui convertit un objet d’un autre type en valeur numérique primitive. Number.toString()Number.valueOf()toExponential Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle.Renvoie une exception si l’argument fractionDigits n’est pas compris entre 0 et 20. RangeErrorRangeErrorStringfractionDigitsuintEntier compris entre 0 et 20 inclus qui représente le nombre requis de décimales. Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle. La chaîne contient un chiffre avant la virgule et jusqu’à 20 décimales, comme spécifié par le paramètre fractionDigits. L’exemple suivant indique comment toExponential(2) renvoie une chaîne sous forme de notation exponentielle. var num:Number = 315003; trace(num.toExponential(2)); // 3.15e+5 toFixed Renvoie une représentation sous forme de chaîne du nombre en notation à virgule fixe.Renvoie une exception si l’argument fractionDigits n’est pas compris entre 0 et 20. RangeErrorRangeErrorStringfractionDigitsuintEntier compris entre 0 et 20 inclus qui représente le nombre requis de décimales. Renvoie une représentation sous forme de chaîne du nombre en notation à virgule fixe. La notation à virgule fixe signifie que la chaîne contiendra un nombre spécifique de décimales, indiqué par le paramètre fractionDigits. Le paramètre fractionDigits gère une plage de valeurs comprises entre 0 et 20. Spécifier une valeur qui excède cette plage entraîne le renvoi d’une exception. L’exemple suivant indique comment toFixed(3) renvoie une chaîne qui arrondit le résultat à trois chiffres après la virgule. var num:Number = 7.31343; trace(num.toFixed(3)); // 7.313 L’exemple suivant indique comment toFixed(2) renvoie une chaîne qui ajoute des zéros à la fin. var num:Number = 4; trace(num.toFixed(2)); // 4.00 toPrecision Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle ou à virgule fixe.Renvoie une exception si l’argument precision n’est pas compris entre 1 et 21. RangeErrorRangeErrorStringprecisionuintEntier compris entre 1 et 21 inclus qui indique le nombre requis de décimales dans la chaîne générée. Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle ou à virgule fixe. La chaîne contiendra le nombre de décimales spécifié par le paramètre precision. L’exemple suivant indique comment toPrecision(3) renvoie une chaîne limitée à trois chiffres. La chaîne recourt à la notation à point fixe, dans la mesure où la notation exponentielle n’est pas requise. var num:Number = 31.570; trace(num.toPrecision(3)); // 31.6 L’exemple suivant indique comment toPrecision(3) renvoie une chaîne limitée à trois chiffres. La chaîne applique la notation exponentielle dans la mesure où le nombre qui en résulte ne contient pas suffisamment de chiffres pour la notation à point fixe. var num:Number = 4000; trace(num.toPrecision(3)); // 4.00e+3 toString Renvoie la représentation sous la forme d’une chaîne spécifiant l’objet Number spécifié (myNumber).Représentation numérique de l’objet Number sous forme de chaîne. StringradixNumber10Spécifie la base numérique (de 2 à 36) à appliquer pour la conversion nombre vers chaîne. Si vous omettez le paramètre radix, la valeur par défaut est de 10. Renvoie la représentation sous forme de chaîne de cet objet Number en utilisant le paramètre de base spécifié comme base numérique. Renvoie la représentation sous la forme d’une chaîne spécifiant l’objet Number spécifié (myNumber). Si la valeur de l’objet Number est un nombre décimal sans zéro à gauche (tel que 0,4), Number.toString() ajoute le zéro (0,4). valueOf Renvoie le type de valeur primitive de l’objet Number spécifié.Valeur de type primitive de l’objet Number. NumberRenvoie le type de valeur primitive de l’objet Number spécifié. Renvoie le type de valeur primitive de l’objet Number spécifié. MAX_VALUE Nombre représentable le plus élevé (à deux décimales conformément à IEEE-754).NumberNombre représentable le plus élevé (à deux décimales conformément à IEEE-754). Nombre représentable le plus élevé (à deux décimales conformément à IEEE-754). La valeur de ce nombre est d’environ 1,79e+308. MIN_VALUE Nombre représentable le plus faible non négatif et non égal à zéro (à deux décimales conformément à IEEE-754).NumberNombre représentable le plus faible (comportant deux décimales conformément à IEEE-754). Nombre représentable le plus faible non négatif et non égal à zéro (à deux décimales conformément à IEEE-754). La valeur de ce nombre est d’environ 5e-324. Le nombre représentable le plus faible globalement est en fait -Number.MAX_VALUE. NEGATIVE_INFINITY Spécifie la valeur IEEE-754 représentant l’infini négatif.NumberSpécifie la valeur IEEE-754 représentant l’infini négatif. Spécifie la valeur IEEE-754 représentant l’infini négatif. La valeur de cette propriété est identique à celle de la constante -Infinity.

L’infini négatif est une valeur numérique spéciale renvoyée lorsqu’une opération mathématique ou une fonction renvoie une valeur négative supérieure à celle pouvant être représentée.

NaN Valeur IEEE-754 ne représentant pas une valeur numérique (NaN).NumberValeur IEEE-754 ne représentant pas une valeur numérique (NaN). Valeur IEEE-754 ne représentant pas une valeur numérique (NaN). Fonction globale isNaN()POSITIVE_INFINITY Spécifie la valeur IEEE-754 représentant l’infini positif.NumberSpécifie la valeur IEEE-754 représentant l’infini positif. Spécifie la valeur IEEE-754 représentant l’infini positif. La valeur de cette propriété est identique à celle de la constante Infinity.

L’infini positif est une valeur numérique spéciale renvoyée lorsqu’une opération mathématique ou une fonction renvoie une valeur supérieure à celle pouvant être représentée.

DefinitionError La classe DefinitionError représente une erreur qui se produit lorsque le code utilisateur tente de définir un identificateur qui est déjà défini.Une erreur DefinitionError est renvoyée lorsque le code tente de redéfinir une classe, une interface ou une fonction. Error La classe DefinitionError représente une erreur qui se produit lorsque le code utilisateur tente de définir un identificateur qui est déjà défini. Cette erreur se produit généralement lors de la redéfinition de classes, d’interfaces et de fonctions. DefinitionError Crée un objet DefinitionError.messageString Crée un objet DefinitionError. Function Une fonction constitue l’unité de base du code que vous pouvez appeler dans ActionScript.La classe Function permet de représenter une fonction intégrée ou définie par l’utilisateur. Object Une fonction constitue l’unité de base du code que vous pouvez appeler dans ActionScript. Les fonctions définies par l’utilisateur et les fonctions intégrées à ActionScript sont représentées par des objets Function, qui sont des occurrences de la classe Function.

Les méthodes d’une classe sont légèrement différentes des objets Function. A l’encontre d’un objet Function standard, une méthode est étroitement liée à l’objet de classe associé. De ce fait, une méthode ou une propriété possède une définition partagée par toutes les occurrences d’une même classe. Les méthodes peuvent être extraites d’une occurrence et traitées comme si elles étaient « liées » (en d’autres termes, comme des méthodes qui conservent le lien à l’occurrence d’origine). Pour une méthode liée, le mot-clé this pointe vers l’objet d’origine qui a implémenté la méthode. Pour une fonction, this pointe vers l’objet associé lors de l’appel de la fonction.

L’exemple suivant a recours aux classes FunctionExample, SimpleCollection, EventBroadcaster et EventListener pour présenter les différentes utilisations des fonctions dans ActionScript. Cette opération s’accomplit de la façon suivante :
  1. Le constructeur de FunctionExample crée une variable locale appelée simpleColl, qui est remplie par un tableau d’entiers allant de 1 à 8.
  2. L’objet simpleColl est imprimé à l’aide de la méthode trace().
  3. Un objet EventListener, listener, est ajouté à simpleColl.
  4. Lorsque les fonctions insert() et remove() sont appelées, l’écouteur répond à leurs événements.
  5. Un deuxième objet SimpleCollection est créé sous le nom greaterThanFourColl.
  6. L’objet greaterThanFourColl se voit affecter le résultat de simpleColl.select() avec l’argument 4 et une fonction anonyme. La méthode de sélection de l’objet SimpleCollection est un itérateur interne qui utilise le paramètre de fonction anonyme en tant que bloc.
package { import flash.display.Sprite; public class FunctionExample extends Sprite { public function FunctionExample() { var simpleColl:SimpleCollection; simpleColl = new SimpleCollection(0, 1, 2, 3, 4, 5, 6, 7, 8); trace(simpleColl); // 0, 1, 2, 3, 4, 5, 6, 7, 8 var listener:EventListener = new EventListener(); simpleColl.addListener(listener); simpleColl.insert(9); // itemInsertedHandler: 9 simpleColl.remove(8); // itemRemovedHandler: 8 trace(simpleColl); // 0, 1, 2, 3, 4, 5, 6, 7, 9 var greaterThanFourColl:SimpleCollection; greaterThanFourColl = simpleColl.select(4, function(item:int, value:int){ return item > value }); trace(greaterThanFourColl); // 5, 6, 7, 9 } } } import flash.display.Sprite; class EventBroadcaster { private var listeners:Array; public function EventBroadcaster() { listeners = new Array(); } public function addListener(obj:Object):void { removeListener(obj); listeners.push(obj); } public function removeListener(obj:Object):void { for(var i:uint = 0; i < listeners.length; i++) { if(listeners[i] == obj) { listeners.splice(i, 1); } } } public function broadcastEvent(evnt:String, ...args):void { for(var i:uint = 0; i < listeners.length; i++) { listeners[i][evnt].apply(listeners[i], args); } } } class SimpleCollection extends EventBroadcaster { private var arr:Array; public function SimpleCollection(... args) { arr = (args.length == 1 && !isNaN(args[0])) ? new Array(args[0]) : args; } public function insert(obj:Object):void { remove(obj); arr.push(obj); broadcastEvent("itemInsertedHandler", obj); } public function remove(obj:Object):void { for(var i:uint = 0; i < arr.length; i++) { if(arr[i] == obj) { var obj:Object = arr.splice(i, 1)[0]; broadcastEvent("itemRemovedHandler", obj); } } } public function select(val:int, fn:Function):SimpleCollection { var col:SimpleCollection = new SimpleCollection(); for(var i:uint = 0; i < arr.length; i++) { if(fn.call(this, arr[i], val)) { col.insert(arr[i]); } } return col; } public function toString():String { var str:String = new String(); for(var i:uint = 0; i < arr.length - 1; i++) { str += arr[i] + ", "; } str += arr[arr.length - 1]; return str; } } class EventListener { public function EventListener() { } public function itemInsertedHandler(obj:Object):void { trace("itemInsertedHandler: " + obj); } public function itemRemovedHandler(obj:Object):void { trace("itemRemovedHandler: " + obj); } }
apply Spécifie la valeur thisObject à utiliser dans toute fonction appelée par ActionScript.Toute valeur spécifiée par la fonction appelée. thisArgunknownObjet auquel s’applique la fonction. argArrayunknownTableau dont les éléments sont transmis à la fonction en tant que paramètres. Spécifie l’occurrence d’objet pour laquelle est appelée la fonction. Spécifie la valeur thisObject à utiliser dans toute fonction appelée par ActionScript. Cette méthode spécifie également les paramètres à transmettre à toute fonction appelée. Dans la mesure où apply() est une méthode de la classe Function, c’est également une méthode de chaque objet Function dans ActionScript.

Les paramètres sont spécifiés sous forme d’objet Array, contrairement à Function.call() qui spécifie les paramètres en tant que liste délimitée par des virgules. Ceci est souvent utile lorsque le nombre de paramètres à transmettre n’est pas connu avant l’exécution du script.

Renvoie la valeur spécifiée en tant que valeur renvoyée par la fonction appelée.

Function.call()
call Appelle la fonction représentée par un objet Function.thisArgunknownObjet qui spécifie la valeur de thisObject dans le corps de la fonction. argsParamètre ou paramètres à transmettre à la fonction. Vous pouvez spécifier zéro ou plusieurs paramètres. Appelle cette fonction. Appelle la fonction représentée par un objet Function. Toutes les fonctions dans ActionScript sont représentées par un objet Function, de sorte que toutes les fonctions prennent en charge cette méthode.

Dans presque tous les cas, l’opérateur d’appel de fonction (()) peut être utilisé au lieu de cette méthode. L’opérateur de la fonction call génère un code concis et lisible. Cette méthode est surtout utile lorsque le paramètre thisObject de l’appel de fonction doit être explicitement contrôlé. Normalement, si une fonction est appelée en tant que méthode d’un objet, dans le corps de la fonction, thisObject est défini sur myObject, comme illustré dans l’exemple suivant :

myObject.myMethod(1, 2, 3);

Dans certains cas, il peut être souhaitable que thisObject pointe autre part ; par exemple, si une fonction doit être appelée en tant que méthode d’un objet alors qu’elle n’est pas stockée comme méthode de cet objet :

myObject.myMethod.call(myOtherObject, 1, 2, 3);

Vous pouvez transmettre la valeur null au paramètre thisObject pour appeler une fonction en tant que fonction ordinaire et non en tant que méthode d’un objet. Par exemple, les appels de fonction suivantes sont équivalentes :

Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4)

Renvoie la valeur spécifiée en tant que valeur renvoyée par la fonction appelée.

Function.apply()
SyntaxError Une exception SyntaxError est renvoyée lorsqu’une erreur d’analyse se produit, pour l’une des raisons suivantes :Error Une exception SyntaxError est renvoyée lorsqu’une erreur d’analyse se produit, pour l’une des raisons suivantes :
  • Une expression régulière non valide est analysée par la classe RegExp.
  • Du contenu XML non valide est analysé par la classe XML.
classe RegExpClasse XMLSyntaxError Crée un objet SyntaxError.messageStringContient le message associé à l’objet SyntaxError. Crée un objet SyntaxError.
XMLList La classe XMLList contient des méthodes qui permettent de traiter au moins un élément XML.Object La classe XMLList contient des méthodes qui permettent de traiter au moins un élément XML. Un objet XMLList peut représenter au moins un objet ou un élément XML (ce qui inclut les nœuds multiples ou les attributs), de façon à pouvoir appeler des méthodes sur les éléments en tant que groupe ou sur les différents éléments de la collection.

Si un objet XMLList ne comporte qu’un seul élément XML, vous pouvez utiliser les méthodes de classe XML directement sur l’objet XMLList. Dans l’exemple suivant, example.two est un objet XMLList de longueur 1. Vous pouvez donc lui appliquer toute méthode XML.

var example2 = <example><two>2</two></example>;

Si vous tentez d’utiliser des méthodes de classe XML avec un objet XMLList contenant plusieurs objets XML, une exception est renvoyée. Vous pouvez par contre, effectuer une itération sur la collection XMLList (à l’aide d’une instruction for each..in, par exemple) et appliquer les méthodes aux différents objets XML de la collection.

L’exemple suivant crée une propriété XML appelée books et ajoute plusieurs éléments avec des balises book publisher et name à un nœud appelé books. Ensuite, la méthode showBooksByPublisher() est appelée, ce qui prend XMLList et renvoie tous les éléments qui correspondent à l’éditeur, « Addison-Wesley ». package { import flash.display.Sprite; public class XMLListExample extends Sprite { private var books:XML; public function XMLListExample() { books = <books> <book publisher="Addison-Wesley" name="Design Patterns" /> <book publisher="Addison-Wesley" name="The Pragmatic Programmer" /> <book publisher="Addison-Wesley" name="Test Driven Development" /> <book publisher="Addison-Wesley" name="Refactoring to Patterns" /> <book publisher="O'Reilly Media" name="The Cathedral & the Bazaar" /> <book publisher="O'Reilly Media" name="Unit Test Frameworks" /> </books>; showBooksByPublisher("Addison-Wesley"); } private function showBooksByPublisher(name:String):void { var results:XMLList = books.book.(@publisher == name); showList(results); } private function showList(list:XMLList):void { var item:XML; for each(item in list) { trace("item: " + item.toXMLString()); } } } }
XMLfor each..inEspace de nom QNameXMLList Crée un objet XMLList.valueObjectTout objet qui peut être converti en objet XMLList à l’aide de la fonction de niveau supérieur XMLList(). Crée un objet XMLList. Fonction XMLList() de niveau supérieurattribute Appelle la méthode attribute() de chaque objet XML et renvoie un objet XMLList contenant les résultats.Objet XMLList composé d’objets XML correspondants ou vide. XMLListattributeNameNom de l’attribut à inclure dans un objet XMLList. Appelle la méthode attribute() de chaque objet XML et renvoie un objet XMLList contenant les résultats. Les résultats correspondent au paramètre attributeName spécifié. Si aucune correspondance n’est détectée, la méthode attribute() renvoie un objet XMLList vide. XML.attribute()XML.attributes()attributes Appelle la méthode attributes() de chaque objet XML et renvoie un objet XMLList contenant les attributs de chaque objet XML.Objet XMLList contenant les attributs de chaque objet XML. XMLList Appelle la méthode attributes() de chaque objet XML et renvoie un objet XMLList contenant les attributs de chaque objet XML. XML.attribute()XML.attributes()child Appelle la méthode child() de chaque objet XML et renvoie un objet XMLList contenant les résultats classés.Objet XMLList contenant les nœuds enfant qui correspondent au paramètre d’entrée. XMLListpropertyNameObjectNom de l’élément ou entier de l’objet XML enfant. Appelle la méthode child() de chaque objet XML et renvoie un objet XMLList contenant les résultats classés. XML.child()children Appelle la méthode children() de chaque objet XML et renvoie un objet XMLList contenant les résultats.Objet XMLList contenant les enfants des objets XML. XMLList Appelle la méthode children() de chaque objet XML et renvoie un objet XMLList contenant les résultats. XML.children()comments Appelle la méthode comments() de chaque objet XML et renvoie un objet XMLList contenant des commentaires.Objet XMLList contenant les commentaires associés aux objets XML. XMLList Appelle la méthode comments() de chaque objet XML et renvoie un objet XMLList contenant des commentaires. XML.comments()contains Vérifie si l’objet XMLList contient un objet XML égal au paramètre value spécifié.Renvoie true si l’objet XMLList contient l’objet XML déclaré dans le paramètre value, false dans tous les autres cas. BooleanvalueXMLObjet XML à comparer à l’objet XMLList en cours. Vérifie si l’objet XMLList contient un objet XML égal au paramètre value spécifié. copy Renvoie une copie de l’objet XMLList spécifié.Copie de l’objet XMLList. XMLList Renvoie une copie de l’objet XMLList spécifié. Cette copie est une duplication de l’arborescence entière de nœuds. L’objet XML copié ne possède pas de parent et renvoie null si vous tentez d’appeler la méthode parent(). descendants Renvoie tous les descendants (enfants, petits-enfants, arrière-petits-enfants, etc.) de l’objet XML associés au paramètre name indiqué.Objet XMLList contenant les descendants (enfants, petits-enfants, etc.) correspondants des objets XML spécifiés dans la liste d’origine. S’il n’existe pas de descendants, la méthode renvoie un objet XMLList vide. XMLListnameObject*Nom de l’élément pour lequel établir une correspondance. Renvoie tous les descendants (enfants, petits-enfants, arrière-petits-enfants, etc.) de l’objet XML associés au paramètre name indiqué. Le paramètre name peut être un objet QName, un type de données String ou tout autre type de données converti ensuite au type de données String.

Pour renvoyer tous les descendants, utilisez le paramètre astérisque (~~). Si aucun paramètre n’est transmis, la chaîne « ~~ » est transmise et renvoie tous les descendants de l’objet XML.

XML.descendants()
elements Appelle la méthode elements() de chaque objet XML.Objet XMLList contenant les éléments enfant correspondants des objets XML. XMLListnameObject*Nom des éléments pour lesquels une correspondance doit être établie. Appelle la méthode elements() de chaque objet XML. Le paramètre name est transmis à la méthode descendants(). Si aucun paramètre n’est transmis, la chaîne « ~~ » est transmise à la méthode descendants(). XML.elements()hasComplexContent Vérifie si l’objet XMLList intègre un contenu complexe.Renvoie true si l’objet XMLList intègre un contenu complexe, false dans le cas contraire. Boolean Vérifie si l’objet XMLList intègre un contenu complexe. Un objet XMLList est considéré comme complexe s’il n’est pas vide et que l’une des deux conditions suivantes est remplie :
  • L’objet XMLList contient un élément XML unique au contenu complexe.
  • L’objet XMLList contient des éléments.
hasSimpleContent()XML.hasComplexContent()XML.hasSimpleContent()
hasOwnProperty Recherche la propriété spécifiée par p.Renvoie true si le paramètre existe, false dans le cas contraire. BooleanpStringPropriété pour laquelle établir une correspondance. Recherche la propriété spécifiée par p. hasSimpleContent Vérifie si l’objet XMLList intègre un contenu simple.Renvoie true si l’objet XMLList intègre un contenu simple, false dans le cas contraire. Boolean Vérifie si l’objet XMLList intègre un contenu simple. Un objet XMLList est considéré comme simple si une ou plusieurs des conditions ci-dessous sont remplies :
  • L’objet XMLList est vide.
  • L’objet XMLList contient un élément XML unique au contenu simple.
  • L’objet XMLList ne contient pas d’élément.
hasComplexContent()XML.hasComplexContent()XML.hasSimpleContent()
length Renvoie le nombre de propriétés de l’objet XMLList.Nombre de propriétés de l’objet XMLList. int Renvoie le nombre de propriétés de l’objet XMLList. normalize Fusionne les nœuds de texte adjacents et élimine les nœuds de texte vides pour les éléments suivants : tous les nœuds de texte XMLList, tous les objets XML contenus dans XMLList et les descendants de tous les objets XML dans XMLList.L’objet XMLList normalisé. XMLList Fusionne les nœuds de texte adjacents et élimine les nœuds de texte vides pour les éléments suivants : tous les nœuds de texte XMLList, tous les objets XML contenus dans XMLList et les descendants de tous les objets XML dans XMLList. parent Renvoie le parent de l’objet XMLList si tous les éléments intégrés à l’objet XMLList possèdent le même parent.Renvoie l’objet XML parent. Object Renvoie le parent de l’objet XMLList si tous les éléments intégrés à l’objet XMLList possèdent le même parent. Si l’objet XMLList ne possède pas de parent ou a des parents différents, la méthode renvoie undefined. processingInstructions Si un paramètre name est spécifié, la méthode recense tous les enfants de l’objet XMLList qui contiennent des instructions de traitement portant le nom indiqué.Objet XMLList qui contient les instructions de traitement de chaque objet XML. XMLListnameString*Nom des instructions de traitement pour lesquelles établir une correspondance. Si un paramètre name est spécifié, la méthode recense tous les enfants de l’objet XMLList qui contiennent des instructions de traitement portant le nom indiqué. Si aucun paramètre n’est spécifié, elle recense tous les enfants de l’objet XMLList qui contiennent des instructions de traitement. XML.processingInstructions()propertyIsEnumerable Vérifie si la propriété p figure dans le jeu de propriétés qui peut faire l’objet d’une itération avec une instruction for..in appliquée à l’objet XMLList.Si la propriété peut faire l’objet d’une itération dans une instruction for..in, true ; sinon false. BooleanpStringIndex d’une propriété à vérifier. Vérifie si la propriété p figurre dans le jeu de propriétés qui peut faire l’objet d’une itération avec une instruction for..in appliquée à l’objet XMLList. La valeur true n’est renvoyée que si toNumber(p) est supérieur ou égal à 0 et inférieur à la longueur de l’objet XMLList. text Appelle la méthode text() de chaque objet XML et renvoie un objet XMLList contenant les résultats.Objet XMLList contenant l’ensemble des propriétés XML de l’objet XMLList qui représentent les nœuds de texte XML. XMLList Appelle la méthode text() de chaque objet XML et renvoie un objet XMLList contenant les résultats. XML.text()toString Renvoie une représentation sous forme de chaîne de tous les objets XML intégrés à un objet XMLList.Représentation sous forme de chaîne de l’objet XML. String Renvoie une représentation sous forme de chaîne de tous les objets XML intégrés à un objet XMLList. Les règles de cette conversion varient selon que l’objet XML intègre un contenu simple ou complexe :
  • Si l’objet XML comporte un contenu simple, toString() renvoie le contenu de la chaîne de l’objet XML en éliminant les éléments suivants : la balise initiale, les attributs, les déclarations d’espace de noms et la balise de fin.
  • Si l’objet XML intègre un contenu complexe, toString() renvoie une chaîne codée au format XML qui représente l’objet XML entier, y compris la balise de début, les attributs, les déclarations d’espace de noms et la balise de fin.

Pour renvoyer à chaque fois l’objet XML entier, utilisez la méthode toXMLString().

L’exemple suivant indique ce que la méthode toString() renvoie lorsque l’objet XML a un contenu simple : var test:XML = <type name="Joe">example</type>; trace(test.toString()); //example L’exemple suivant indique ce que la méthode toString() renvoie lorsque l’objet XML a un contenu complexe : var test:XML = <type name="Joe"> <base name="Bob"></base> example </type>; trace(test.toString()); // <type name="Joe"> // <base name="Bob"/> // example // </type>
hasComplexContent()hasSimpleContent()toXMLString()
toXMLString Renvoie une représentation sous forme de chaîne de tous les objets XML intégrés à un objet XMLList.Représentation sous forme de chaîne de l’objet XML. String Renvoie une représentation sous forme de chaîne de tous les objets XML intégrés à un objet XMLList. A l’encontre de la méthode toString(), la méthode toXMLString() renvoie toujours la balise de début, les attributs et la balise de fin de l’objet XML, que son contenu soit simple ou complexe (la méthode toString() supprime ces éléments si l’objet XML intègre un contenu simple). toString()valueOf Renvoie l’objet XMLList.Renvoie l’objet XMLList en cours. XMLList Renvoie l’objet XMLList.
Boolean Utilisé pour les opérations logiques, un objet Boolean est un type de données réglé soit sur true, soit sur false.Object Utilisé pour les opérations logiques, un objet Boolean est un type de données réglé soit sur true ou false. Utilisez la classe Boolean pour extraire le type de données primitive ou la représentation sous forme de chaîne d’un objet booléen.

Pour créer un objet Boolean, vous pouvez utiliser le constructeur ou la fonction globale, ou affecter une valeur littérale. Utilisez la technique de votre choix, car elles sont toutes trois équivalentes dans ActionScript 3.0 (à l’encontre de JavaScript, où un objet Boolean et le type de primitive Boolean sont deux entités distinctes).

Les lignes de code suivantes sont équivalentes :

var flag:Boolean = true; var flag:Boolean = new Boolean(true); var flag:Boolean = Boolean(true);
L’exemple suivant permet de sélectionner tour à tour et afficher toutes les valeurs correspondant à l’objet Boolean : package { import flash.display.Sprite; public class BooleanExample extends Sprite { private var flag:Boolean; public function BooleanExample() { trace(flag); // false toggle(); trace(flag); // true toggle(); trace(flag); // false } private function toggle():void{ flag = !flag; } } }
Boolean Crée un objet Boolean à la valeur spécifiée.expressionObjectfalseToute expression. Crée un objet Boolean à la valeur spécifiée. Si vous omettez le paramètre expression, l’objet Boolean est initialisé avec la valeur false. Si vous spécifiez une valeur pour le paramètre expression, la méthode l’évalue et renvoie le résultat sous forme de valeur booléenne conformément aux règles de la fonction globale Boolean(). Le code suivant crée un objet Boolean, initialisé à la valeur false et appelé myBoolean : var myBoolean:Boolean = new Boolean(); Fonction globale Boolean()toString Renvoie la représentation de l’objet booléen sous forme de chaîne (« true » ou « false »).Chaîne "true" ou "false". String Renvoie la représentation de l’objet booléen sous forme de chaîne ("true" ou "false"). La sortie n’est pas traduite et correspond à "true" ou "false" quelle que soit la langue du système en vigueur. Cet exemple crée une variable de type booléen et utilise la méthode toString() pour convertir la valeur en chaîne à utiliser dans un tableau de chaînes : var myStringArray:Array = new Array("yes", "could be"); var myBool:Boolean = 0; myBool.toString(); myStringArray.push(myBool); trace(myStringArray); // yes,could be,false valueOf Renvoie true si la valeur de l’objet Boolean spécifié est true, false dans le cas contraire.Valeur booléenne. Boolean Renvoie true si la valeur de l’objet Boolean spécifié est true, false dans le cas contraire. L’exemple suivant indique le mode de fonctionnement de cette méthode et montre également que la valeur d’un nouvel objet Boolean est false : var myBool:Boolean = new Boolean(); trace(myBool.valueOf());   // false myBool = (6==3+3); trace(myBool.valueOf());   // true
Error La classe Error contient des informations sur une erreur survenue dans un script.Un objet Error est généré s’il se produit une erreur dans un script. Object La classe Error contient des informations sur une erreur survenue dans un script. Lorsque vous développez des applications ActionScript 3.0, une boîte de dialogue indique les exceptions de type Error ou associées à une sous-classe si vous exécutez le code compilé dans la version de débogage d’un moteur d’exécution de Flash pour vous aider à corriger le code. Vous pouvez créer un objet Error à l’aide de la fonction constructeur Error. En général, vous générez un nouvel objet Error à partir d’un bloc de code try, qui est ensuite détecté par un bloc de code catch ou finally.

Vous pouvez également créer une sous-classe de la classe Error et générer des occurrences de cette sous-classe.

L’exemple suivant exploite la classe ErrorExample pour indiquer comment générer une erreur personnalisée. Cette opération s’accomplit de la façon suivante :
  1. Une variable locale, nullArray, de type Array est déclaré. Vous remarquerez qu’aucun objet Array n’est créé.
  2. Le constructeur tente de charger une valeur dans le tableau non initialisé en utilisant la méthode push() au sein d ’un segment de code de traitement des erreurs qui intercepte une erreur personnalisée à l’aide de la classe CustomError, qui étend Error.
  3. Lorsque CustomError est renvoyé, le constructeur l’intercepte, puis renvoie un message d’erreur à l’aide de l’instruction trace().
package { import flash.display.Sprite; public class ErrorExample extends Sprite { private var nullArray:Array; public function ErrorExample() { try { nullArray.push("item"); } catch(e:Error) { throw new CustomError("nullArray is null"); } } } } class CustomError extends Error { public function CustomError(message:String) { super(message); } }
Error Crée un nouvel objet Error.messageStringChaîne associée à l’objet Error. Ce paramètre est facultatif. idint0Numéro de référence à associer au message d’erreur spécifique. Crée une nouvelle occurrence de Error associée au message d’erreur spécifié. Crée un nouvel objet Error. Si message est spécifié, sa valeur est affectée à la propriété Error.message de l’objet. L’exemple suivant crée un nouvel objet Error, err puis, à l’aide du constructeur Error(), affecte la chaîne "New Error Message" à err. var err:Error = new Error(); trace(err.toString()); // Error err = new Error("New Error Message"); trace(err.toString()); // Error: New Error Message statements.html#throwstatements.html#try..catch..finallygetStackTrace Renvoie la pile d’appels d’une erreur sous la forme d’une chaîne lors de la construction de l’erreur (version de débogage de Flash Player et application de débogage du lanceur AIR seulement) ; renvoie la valeur null lorsque ni la version de débogage de Flash Player ni l’application de débogage du lanceur AIR n’est utilisée.Représentation sous forme de chaîne de la pile d’appels. StringRenvoie la pile d’appels pour générer une erreur lisible. Renvoie la pile d’appels d’une erreur sous la forme d’une chaîne lors de la construction de l’erreur (version de débogage de Flash Player et application de débogage du lanceur AIR seulement) ; renvoie la valeur null lorsque ni la version de débogage de Flash Player ni l’application de débogage du lanceur AIR n’est utilisée. Comme indiqué dans l’exemple suivant, la première ligne de la valeur renvoyée est une chaîne qui représente l’objet d’exception, suivi par les éléments de la pile de suivi : TypeError: null cannot be converted to an object at com.xyz.OrderEntry.retrieveData(OrderEntry.as:995) at com.xyz.OrderEntry.init(OrderEntry.as:200) at com.xyz.OrderEntry.$construct(OrderEntry.as:148) toString Renvoie la chaîne « Error » par défaut ou la valeur contenue dans la propriété Error.message, si elle est définie.Message d’erreur. StringRenvoie le message d’erreur ou le terme « Error » si le message n’est pas défini. Renvoie la chaîne "Error" par défaut ou la valeur contenue dans la propriété Error.message, si elle est définie. L’exemple suivant crée un nouvel objet Error, err puis, à l’aide du constructeur Error(), affecte la chaîne "New Error Message" à err. Enfin, la propriété message est définie sur "Another New Error Message", qui remplace "New Error Message". var err:Error = new Error(); trace(err.toString()); // Error err = new Error("New Error Message"); trace(err.toString()); // Error: New Error Message err.message = "Another New Error Message"; trace(err.toString()); // Error: Another New Error Message Error.messagestatements.html#throwstatements.html#try..catch..finallymessage Contient le message associé à l’objet Error.StringContient le message d’erreur associé à l’occurrence de Error. Contient le message associé à l’objet Error. Par défaut, la valeur de cette propriété est "Error". Vous pouvez spécifier une propriété message lorsque vous créez un objet Error en transmettant la chaîne d’erreur à la fonction constructeur Error. statements.html#throwstatements.html#try..catch..finallyname Contient le nom de l’objet Error.StringNom de l’occurrence de Error. Contient le nom de l’objet Error. Par défaut, la valeur de cette propriété est "Error". statements.html#throwstatements.html#try..catch..finallyerrorID Contient le numéro de référence associé au message d’erreur spécifique.intContient le numéro de l’erreur. Contient le numéro de référence associé au message d’erreur spécifique. Pour un objet Error personnalisé, ce nombre correspond à la valeur du paramètre id fourni dans le constructeur.
TypeError Une exception TypeError est renvoyée lorsque le type réel d’une opérande ne correspond pas au type prévu.Error Une exception TypeError est renvoyée lorsque le type réel d’une opérande ne correspond pas au type prévu.

Cette exception est également renvoyée dans les cas suivants :

  • Un paramètre réel de fonction ou de méthode ne peut pas être forcé à correspondre au type de paramètre formel.
  • Une valeur est affectée à une variable et ne peut pas être forcée à correspondre au type de la variable.
  • Le côté droit de l’opérateur is ou occurrenceof n’est pas un type valide.
  • L’utilisation du mot-clé super n’est pas valide.
  • Une recherche de propriété donne lieu à plusieurs liaisons, soit un résultat ambigu.
  • Une méthode est appelée pour un objet incompatible. Par exemple, une exception TypeError est renvoyée si une méthode de la classe RegExp est « greffée » sur un objet générique, puis appelée.

L’exemple suivant indique comment générer une exception TypeError et la traiter avec une instruction try..catch. package { import flash.display.DisplayObject; import flash.display.Sprite; public class TypeErrorExample extends Sprite { public function TypeErrorExample() { try { var child:Object = new Object(); addChild(DisplayObject(child)); } catch(e:TypeError) { trace(e); } } } }
opérateur isopérateur occurrenceofinstruction superclasse RegExpTypeError Crée un objet TypeError.messageStringContient le message associé à l’objet TypeError. Crée un objet TypeError.
arguments Un objet arguments permet de stocker les arguments d’une fonction et d’y accéder.Un objet arguments permet de stocker les arguments d’une fonction et d’y accéder. Object Un objet arguments permet de stocker les arguments d’une fonction et d’y accéder. Dans le corps d’une fonction, vous pouvez accéder à l’objet arguments par le biais de la variable arguments locale.

Les arguments sont stockés sous forme d’éléments de tableau : le premier est accessible sous la forme arguments[0], le deuxième en tant qu’arguments[1], etc. La propriété arguments.length indique le nombre d’arguments transmis à la fonction. Le nombre d’arguments transmis peut différer du nombre déclaré par la fonction.

A l’encontre des versions précédentes d’ActionScript, ActionScript 3.0 n’intègre pas de propriété arguments.caller. Pour définir une référence à la fonction qui a appelé la fonction en cours, vous devez transmettre une référence à cette dernière en tant qu’argument. Cette technique est illustrée dans l’exemple associé à arguments.callee.

ActionScript 3.0 intègre un nouveau mot-clé ...(rest), que nous vous recommandons d’utiliser de préférence à la classe arguments.

L’exemple suivant présente les différents usages pour différentes propriétés arguments, telles que callee et length . package { import flash.display.Sprite; public class ArgumentsExample extends Sprite { public function ArgumentsExample() { println("Hello World"); } public function println(str:String):void { trace(arguments.callee == this.println); // true trace(arguments.length); // 1 trace(arguments[0]); // Hello World trace(str); // Hello World } } }
...(rest)Fonctioncallee Référence à la fonction en cours d’exécution.FunctionRéférence à la fonction en cours d’exécution. Référence à la fonction en cours d’exécution. Le code suivant indique comment obtenir une référence à la fonction qui appelle la fonction nommée secondFunction(). La fonction firstFunction() reçoit l’argument booléen true pour démontrer que secondFunction() appelle avec succès firstFunction() et pour empêcher une boucle infinie de fonctions qui s’appellent les unes les autres.

Dans la mesure où le paramètre callSecond est défini sur true, firstFunction() appelle secondFunction() et se transmet une référence à lui-même en tant que seul argument. La fonction secondFunction() reçoit cet argument et le stocke à l’aide d’un paramètre appelé caller, qui appartient au type de données Function. A partir de secondFunction(), le paramètre caller est ensuite utilisé pour appeler la fonction firstFunction, mais cette fois avec l’argument callSecond défini sur false.

Lorsque l’exécution revient à firstFunction(), l’instruction trace() est exécutée, car callSecond est false.

package { import flash.display.Sprite; public class ArgumentsExample extends Sprite { private var count:int = 1; public function ArgumentsExample() { firstFunction(true); } public function firstFunction(callSecond:Boolean) { trace(count + ": firstFunction"); if(callSecond) { secondFunction(arguments.callee); } else { trace("CALLS STOPPED"); } } public function secondFunction(caller:Function) { trace(count + ": secondFunction\n"); count++; caller(false); } } }
length Nombre d’arguments transmis à la fonction.NumberNombre de paramètres transmis à la fonction. Nombre d’arguments transmis à la fonction. Ce nombre peut être supérieur ou inférieur à celui déclaré par la fonction.
String La classe String est un type de données qui représente une chaîne de caractères.Object La classe String est un type de données qui représente une chaîne de caractères. Elle fournit des méthodes et propriétés permettant de manipuler les types de valeur de chaîne primitive. Vous pouvez convertir la valeur d’un objet en un objet au type de données String à l’aide de la fonction String().

Tous les index de chaîne étant de base zéro, l’index du dernier caractère pour une chaîne x est x.length - 1.

Vous pouvez appeler l’une des méthodes de la classe String que vous utilisiez la méthode constructeur new String() pour créer une variable de type chaîne ou que vous affectiez simplement une valeur de littéral de type chaîne. A l’encontre des versions précédentes d’ActionScript, l’utilisation du constructeur, de la fonction globale ou l’affectation d’une valeur de littéral de chaîne ne fait aucune différence. Les lignes de code suivantes sont équivalentes :

var str:String = new String("foo"); var str:String = "foo"; var str:String = String("foo");

Lorsqu’ils définissent une variable de type chaîne sur undefined, les moteurs d’exécution de Flash imposent le remplacement de undefined par null. De ce fait, l’instruction :

 var s:String = undefined;
règle la valeur sur null au lieu de undefined. Utilisez la fonction String() pour obtenir undefined.
L’exemple suivant a recours aux classes StringExample et StringHelper pour indiquer la façon dont les différentes méthodes de la classe String sont utilisées. Pour ce faire, exécutez la procédure suivante :
  1. Le constructeur de StringExample déclare plusieurs occurrences String locales, qui sont initialisées avec différentes chaînes et un nouvel objet StringHelper.
  2. La classe StringHelper dispose des méthodes suivantes :
    • replace() : appelle les méthodes split() et join() de String pour supprimer une sous-chaîne de la chaîne transmise avec une nouvelle sous-chaîne.
    • trim() : appelle trimBack() et trimFront() à l’aide des chaînes transmises et renvoie la chaîne mise à jour.
    • trimFront() : supprime de façon récursive tous les caractères qui correspondent au caractère char, en commençant par le début de la chaîne et en allant vers sa fin, jusqu’à ce que le premier caractère de la chaîne ne corresponde pas à char et renvoie la chaîne mise à jour.
    • trimBack() : supprime de façon récursive tous les caractères qui correspondent au caractère char, en commençant par la fin de la chaîne et en allant vers l’arrière, jusqu’à ce que le dernier caractère de la chaîne ne corresponde pas à char et renvoie la chaîne mise à jour.
    • stringToCharacter() : renvoie le premier caractère de la chaîne qui lui a été transmise.
  3. Trois chaînes sont ensuite produites à l’aide des variables déclarées avec un appel à la méthode replace() qui est utilisée pour produire la deuxième chaîne et trim() pour produire la troisième chaîne.
package { import flash.display.Sprite; public class StringExample extends Sprite { public function StringExample() { var companyStr:String = new String(" Company X"); var productStr:String = "Product Z Basic "; var emptyStr:String = " "; var strHelper:StringHelper = new StringHelper(); var companyProductStr:String = companyStr + emptyStr + productStr; trace("'" + companyProductStr + "'"); // ' Company X Product Z Basic ' companyProductStr = strHelper.replace(companyProductStr, "Basic", "Professional"); trace("'" + companyProductStr + "'"); // ' Company X Product Z Professional ' companyProductStr = strHelper.trim(companyProductStr, emptyStr); trace("'" + companyProductStr + "'"); // 'Company X Product Z Professional' } } } class StringHelper { public function StringHelper() { } public function replace(str:String, oldSubStr:String, newSubStr:String):String { return str.split(oldSubStr).join(newSubStr); } public function trim(str:String, char:String):String { return trimBack(trimFront(str, char), char); } public function trimFront(str:String, char:String):String { char = stringToCharacter(char); if (str.charAt(0) == char) { str = trimFront(str.substring(1), char); } return str; } public function trimBack(str:String, char:String):String { char = stringToCharacter(char); if (str.charAt(str.length - 1) == char) { str = trimBack(str.substring(0, str.length - 1), char); } return str; } public function stringToCharacter(str:String):String { if (str.length == 1) { return str; } return str.slice(0, 1); } }
Fonction globale String()String Crée un objet String initialisé sur la chaîne spécifiée.valStringValeur initiale du nouvel objet String. Crée un objet String initialisé sur la chaîne spécifiée.

Remarque : les littéraux de chaîne utilisant moins de temps système que les objets String et étant généralement plus faciles à utiliser, il est recommandé de faire appel à eux plutôt qu’à la classe String, sauf si vous avez une bonne raison d’utiliser un objet String plutôt qu’un littéral de chaîne.

charAt Renvoie le caractère correspondant à la position spécifiée par le paramètre index.Le caractère correspondant à l’index spécifié, ou une chaîne vide si l’index spécifié n’est pas compris dans la plage des index de cette chaîne. StringindexNumber0Entier spécifiant la position d’un caractère dans la chaîne. Le premier caractère est indiqué par 0 et le dernier par my_str.length - 1. Renvoie le caractère correspondant à la position spécifiée par le paramètre index. Si index n’est pas un nombre compris entre 0 et string.length - 1, une chaîne vide est renvoyée.

Cette méthode est similaire à String.charCodeAt(), sauf que la valeur renvoyée est un caractère, plutôt qu’un code de caractère entier 16 bits.

charCodeAt()
charCodeAt Renvoie le code numérique du caractère Unicode correspondant à l’index spécifié.Le code du caractère Unicode correspondant à l’index spécifié, ou NaN si l’index spécifié n’est pas compris dans la plage des index de cette chaîne.

Les valeurs Unicode sont définies sur la page Unicode Character Database (disponible en anglais uniquement).

Number
indexNumber0Entier spécifiant la position d’un caractère dans la chaîne. Le premier caractère est indiqué par 0, et le dernier par my_str.length - 1.
Renvoie le code numérique du caractère Unicode correspondant à l’index spécifié. Si index n’est pas un nombre compris entre 0 et string.length - 1, NaN est renvoyé.

Cette méthode est similaire à String.charAt(), sauf que la valeur renvoyée est un code de caractère entier 16 bits, pas le caractère en tant que tel.

charAt()
concat Ajoute les arguments fournis à la fin de l’objet String en les convertissant en chaînes si besoin est, et renvoie la chaîne obtenue.Nouvelle chaîne composée de cette chaîne concaténée avec les paramètres spécifiés. StringargsValeurs supérieures ou égales à zéro à concaténer. Ajoute les arguments fournis à la fin de l’objet String en les convertissant en chaînes si besoin est, et renvoie la chaîne obtenue. La valeur d’origine de l’objet String source n’est pas modifiée. fromCharCode Renvoie une chaîne comprenant les caractères représentés par les codes de caractère Unicode dans les paramètres.Chaîne correspondant aux codes de caractère Unicode spécifiés. StringcharCodesSérie d’entiers décimaux représentant les valeurs Unicode.

Les valeurs Unicode sont définies sur la page Unicode Character Database (disponible en anglais uniquement).

Renvoie une chaîne comprenant les caractères représentés par les codes de caractère Unicode dans les paramètres.
indexOf Recherche la chaîne et renvoie la position de la première occurrence de val détectée au niveau de ou après startIndex dans la chaîne appelante.Index de la première occurrence de la sous-chaîne spécifiée ou -1. intvalStringSous-chaîne à rechercher. startIndexNumber0Entier facultatif spécifiant l’index de départ de la recherche. Recherche la chaîne et renvoie la position de la première occurrence de val détectée au niveau de ou après startIndex dans la chaîne appelante. Cet index commence à partir de zéro, ce qui signifie que le premier caractère d’une chaîne est considéré comme étant à l’index 0, et non pas à l’index 1. Si val n’est pas détecté, la méthode renvoie -1. lastIndexOf()lastIndexOf Recherche la chaîne de droite à gauche et renvoie l’index de la dernière occurrence de val détectée avant startIndex.La position de la dernière occurrence de la sous-chaîne spécifiée ou -1 si elle est introuvable. intvalStringChaîne à rechercher. startIndexNumber0x7FFFFFFFEntier facultatif spécifiant l’index de départ de la recherche de val. La valeur par défaut correspond à la valeur maximale autorisée d’un index. Si vous ne spécifiez pas startIndex, la recherche débute par le dernier élément de la chaîne. Recherche la chaîne de droite à gauche et renvoie l’index de la dernière occurrence de val détectée avant startIndex. L’index commence à zéro, ce qui signifie que le premier caractère occupe la position d’index 0 et le dernier, string.length - 1. Si val n’est pas détecté, la méthode renvoie -1. indexOf()localeCompare Compare l’ordre de tri de deux chaînes ou plus et renvoie le résultat de la comparaison sous forme d’entier.La valeur 0 si les chaînes sont égales. Dans le cas contraire, un entier négatif si la chaîne d’origine est inférieure à l’argument chaîne et un entier positif si l’argument chaîne est inférieur à la chaîne d’origine. Dans les deux cas, la valeur absolue du nombre représente l’écart entre les deux chaînes. intotherStringValeur de chaîne à comparer. valuesEnsemble facultatif d’autres chaînes à comparer. Compare l’ordre de tri de deux chaînes ou plus et renvoie le résultat de la comparaison sous forme d’entier. Bien que cette méthode soit conçue pour traiter la comparaison en fonction des paramètres régionaux en vigueur, l’implémentation d’ActionScript 3.0 ne produit pas un résultat différent des autres comparaisons de chaînes, telles que les opérateurs d’égalité (==) ou d’inégalité (!=). Si les chaînes sont équivalentes, la valeur renvoyée est 0. Si la valeur de la chaîne d’origine est inférieure à la valeur de la chaîne spécifiée par other, la valeur renvoyée est un entier négatif, dont la valeur absolue représente le nombre de caractères qui séparent les deux valeurs de chaîne. Si la valeur de la chaîne d’origine est supérieure à other, la valeur renvoyée est un entier positif, dont la valeur absolue représente le nombre de caractères qui séparent les deux valeurs de chaîne. match Met en correspondance le paramètre pattern spécifié et la chaîne.Tableau de chaînes contenant toutes les sous-chaînes de la chaîne qui correspondent au paramètre pattern spécifié.

Si pattern est une expression régulière, l’indicateur g (global) doit être défini dans celle-ci pour renvoyer un tableau contenant plus d’une sous-chaîne correspondante :

  • Si l’indicateur g (global) n’est pas défini, le tableau renvoyé ne contient qu’une seule correspondance, et la propriété lastIndex de l’expression régulière n’est pas modifiée.
  • Si l’indicateur g (global) est défini, la méthode démarre la recherche au début de la chaîne (position d’index 0). Si une sous-chaîne correspondante est une chaîne vide (ce qui risque de se produire avec une expression régulière telle que /x~~/), la méthode ajoute cette chaîne vide au tableau des correspondances, puis poursuit la recherche à la position d’index suivante. La propriété lastIndex de l’expression régulière est définie sur 0 une fois la méthode terminée.

S’il n’existe aucune correspondance, la méthode renvoie un tableau vide. Si vous ne transmettez pas de valeur (ou si vous transmettez une valeur non définie) en tant que paramètre pattern, la méthode renvoie null.

Array
patternLes critères à rechercher, susceptibles de correspondre à n’importe quel type d’objet, mais généralement réglés sur une chaîne ou une expression régulière. Si le paramètre pattern n’est ni une expression régulière, ni une chaîne, la méthode le convertit en chaîne avant de s’exécuter.
Met en correspondance le paramètre pattern spécifié et la chaîne.
RegExp
replace Compare les critères (pattern) spécifiés à la chaîne et renvoie une nouvelle chaîne dans laquelle la première correspondance de pattern est remplacée par le contenu spécifié par repl.La chaîne obtenue. Notez que la chaîne source n’est pas modifiée. StringpatternLes critères à rechercher, susceptibles de correspondre à n’importe quel type d’objet, mais généralement réglés sur une chaîne ou une expression régulière. Si vous spécifiez un paramètre pattern correspondant à tout objet autre qu’une chaîne ou une expression régulière, la méthode toString() est appliquée au paramètre et la méthode replace() s’exécute en utilisant la chaîne obtenue en tant que critère (pattern). replObjectEn règle générale, la chaîne qui remplace le contenu correspondant. Vous pouvez également utiliser une fonction en tant que paramètre. Dans ce cas, la chaîne renvoyée par la fonction remplace le contenu correspondant.

Si vous spécifiez une chaîne en tant que paramètre repl et que vous définissez une expression régulière en tant que paramètre pattern, vous pouvez utiliser les codes de remplacement $ spéciaux suivants dans la chaîne repl :

$ Code Texte de remplacement $$ $ $& Sous-chaîne correspondante. $` Partie de la chaîne qui précède la sous-chaîne correspondante. Notez que ce code utilise le guillemet droit simple de gauche (`) plutôt que le guillemet droit simple (’) ou le guillemet courbe simple de gauche (‘). $’ Partie de la chaîne qui suit la sous-chaîne correspondante. Notez que ce code utilise le guillemet droit simple (’). $n Nième groupe entre parenthèses correspondant capturé, où n est un chiffre compris entre 1 et 9 et $n n’est pas suivi d’une décimale. $nn Nnième groupe entre parenthèses correspondant capturé, où nn est un nombre décimal à deux chiffres compris entre 01 et 99. Si la nnième capture n’est pas définie, le texte de remplacement est une chaîne vide.

L’exemple suivant illustre l’utilisation des codes de remplacement $2 et $1, qui représentent le premier et le deuxième groupes capturés correspondants :

var str:String = "flip-flop"; var pattern:RegExp = /(\w+)-(\w+)/g; trace(str.replace(pattern, "$2-$1")); // flop-flip

Si vous spécifiez une fonction en tant que paramètre repl, la méthode replace() transmet les paramètres suivants à la fonction :

  • La partie correspondante de la chaîne.
  • Tout groupe entre parenthèses capturé correspondant est spécifié en tant qu’arguments suivants. Le nombre d’arguments transmis de cette façon varie selon le nombre de correspondances entre parenthèses. Pour déterminer le nombre de correspondances entre parenthèses, vérifiez arguments.length - 3 dans le code de la fonction.
  • La position d’index dans la chaîne où débute la correspondance.
  • La chaîne complète.

Considérons par exemple ce qui suit :

var str1:String = "abc12 def34"; var pattern:RegExp = /([a-z]+)([0-9]+)/; var str2:String = str1.replace(pattern, replFN); trace (str2); // 12abc 34def function replFN():String { return arguments[2] + arguments[1]; }

L’appel de la méthode replace() utilise une fonction en tant que paramètre repl. Deux correspondances sont détectées pour l’expression régulière (/([a-z]([0-9]/g). La première fois, les critères correspondent à la sous-chaîne "abc12" et la liste suivante d’arguments est transmise à la fonction :

{"abc12", "abc", "12", 0, "abc12 def34"}

La seconde fois, les critères correspondent à la sous-chaîne "def23" et la liste suivante d’arguments est transmise à la fonction :

{"def34", "def", "34", 6, "abc123 def34"}
Compare les critères (pattern) spécifiés à la chaîne et renvoie une nouvelle chaîne dans laquelle la première correspondance de pattern est remplacée par le contenu spécifié par repl. Le paramètre pattern peut être une chaîne ou une expression régulière. Le paramètre repl peut être une chaîne ou une fonction. S’il s’agit d’une fonction, la chaîne renvoyée par la fonction est insérée à la place de la correspondance. La chaîne d’origine n’est pas modifiée.

Dans l’exemple suivant, seule la première occurrence de « sh » (le respect de la casse étant activé) est remplacée :

var myPattern:RegExp = /sh/; var str:String = "She sells seashells by the seashore."; trace(str.replace(myPattern, "sch")); // She sells seaschells by the seashore.

Dans l’exemple suivant, toutes les occurrences de « sh » (le respect de la casse étant activé) sont remplacées, car l’indicateur g (global) est défini dans l’expression régulière :

var myPattern:RegExp = /sh/g; var str:String = "She sells seashells by the seashore."; trace(str.replace(myPattern, "sch")); // She sells seaschells by the seaschore.

Dans l’exemple suivant, toutes les occurrences de « sh » sont remplacées, car l’indicateur g (global) est défini dans l’expression régulière et les correspondances ne respectent pas la casse, car l’indicateur i (ignoreCase) est défini :

var myPattern:RegExp = /sh/gi; var str:String = "She sells seashells by the seashore."; trace(str.replace(myPattern, "sch")); // sche sells seaschells by the seaschore.
RegExp
search Recherche le paramètre pattern spécifié et renvoie l’index de la première sous-chaîne correspondante.L’index de la première sous-chaîne correspondante ou -1 si aucune correspondance n’est détectée. Notez que la chaîne est associée à l’index zéro. Le premier caractère de la chaîne occupe la position d’index 0 et le dernier caractère, string.length - 1. intpatternLes critères à rechercher, susceptibles de correspondre à n’importe quel type d’objet, mais généralement réglés sur une chaîne ou une expression régulière. Si le paramètre pattern n’est ni une expression régulière, ni une chaîne, la méthode le convertit en chaîne avant de s’exécuter. Notez que si vous spécifiez une expression régulière, la méthode ignore l’indicateur global (« g ») de cette dernière, ainsi que sa propriété lastIndex (et ne modifie pas l’expression régulière). Si vous transmettez une valeur non définie (ou si vous ne transmettez pas de valeur), la méthode renvoie -1. Recherche le paramètre pattern spécifié et renvoie l’index de la première sous-chaîne correspondante. Si aucune sous-chaîne correspondante n’est détectée, la méthode renvoie -1. RegExpslice Renvoie une chaîne qui contient le caractère startIndex et tous les autres caractères jusqu’au caractère endIndex, ce dernier n’étant pas inclus.Sous-chaîne basée sur les index spécifiés. StringstartIndexNumber0Index commençant à zéro du point de départ de la découpe. Si startIndex est un nombre négatif, la découpe est créée de droite à gauche, -1 représentant le dernier caractère. endIndexNumber0x7fffffffEntier correspondant à 1+ l’index du point de terminaison de la découpe. Le caractère indexé par le paramètre endIndex n’est pas inclus dans la chaîne extraite. Si endIndex correspond à un nombre négatif, le point de terminaison est calculé à partir de la fin de la chaîne, -1 représentant le dernier caractère. La valeur par défaut correspond à la valeur maximale autorisée d’un index. Si ce paramètre est omis, String.length est utilisé. Renvoie une chaîne qui contient le caractère startIndex et tous les autres caractères jusqu’au caractère endIndex, ce dernier n’étant pas inclus. L’objet String d’origine n’est pas modifié. Si le paramètre endIndex n’est pas spécifié, la fin de la sous-chaîne correspond à la fin de la chaîne. Si le caractère indexé par startIndex est identique au caractère indexé par endIndex ou s’il se trouve à droite de ce caractère, la méthode renvoie une chaîne vide. substr()substring()split Divise un objet String en un tableau de sous-chaînes en le divisant à chaque occurrence du paramètre delimiter spécifié.Tableau de sous-chaînes. ArraydelimiterCritères qui spécifient l’endroit où diviser cette chaîne. Cet objet peut être de tout type, mais correspond généralement à une chaîne ou à une expression régulière. Si le paramètre delimiter n’est ni une expression régulière, ni une chaîne, la méthode le convertit en chaîne avant de s’exécuter. limitNumber0x7fffffffNombre maximal d’éléments à placer dans le tableau. La valeur par défaut correspond à la valeur maximale autorisée. Divise un objet String en un tableau de sous-chaînes en le divisant à chaque occurrence du paramètre delimiter spécifié.

Si le paramètre delimiter est une expression régulière, seule la première correspondance à une position donnée de la chaîne est prise en compte, même si un retour en arrière est susceptible de détecter une sous-chaîne non vide à cette position. Par exemple :

var str:String = "ab"; var results:Array = str.split(/a~~?/); // results == ["","b"] results = str.split(/a~~/); // results == ["","b"].)

Si le paramètre delimiter est une expression régulière contenant des parenthèses de regroupement, à chaque détection d’une correspondance de delimiter, les résultats, y compris tout résultat non défini, des parenthèses de regroupement sont rassemblés dans le tableau de sortie. Par exemple :

var str:String = "Thi5 is a tricky-66 example."; var re:RegExp = /(\d+)/; var results:Array = str.split(re); // results == ["Thi","5"," is a tricky-","66"," example."]

Si le paramètre limit est spécifié, le nombre d’éléments du tableau renvoyé ne dépasse pas le nombre spécifié.

Si le paramètre delimiter est une chaîne vide, une expression régulière vide ou une expression régulière qui peut correspondre à une chaîne vide, chaque caractère de la chaîne est renvoyé en tant qu’élément du tableau.

Si le paramètre delimiter n’est pas défini, l’ensemble de la chaîne est placé dans le premier élément du tableau renvoyé.

Array.join()RegExp
substr Renvoie une sous-chaîne dont le premier caractère correspond à la position startIndex indiquée et dont la longueur est spécifiée par len.Sous-chaîne basée sur les paramètres spécifiés. StringstartIndexNumber0Entier qui indique l’index du premier caractère à utiliser pour créer la sous-chaîne. Si startIndex correspond à un nombre négatif, le point de départ est déterminé à partir de la fin de la chaîne, -1 représentant le dernier caractère. lenNumber0x7fffffffNombre de caractères de la sous-chaîne en cours de création. La valeur par défaut correspond à la valeur maximale autorisée. Si le paramètre len n’est pas spécifié, la sous-chaîne contient tous les caractères, de startIndex à la fin de la chaîne. Renvoie une sous-chaîne dont le premier caractère correspond à la position startIndex indiquée et dont la longueur est spécifiée par len. La chaîne d’origine n’est pas modifiée. substring Renvoie une chaîne composée du caractère spécifié par startIndex et de tous les caractères suivants jusqu’à endIndex - 1.Sous-chaîne basée sur les paramètres spécifiés. StringstartIndexNumber0Entier qui indique l’index du premier caractère utilisé pour créer la sous-chaîne. Les valeurs valides de startIndex sont comprises entre 0 et String.length. Si startIndex est une valeur négative, 0 est utilisé. endIndexNumber0x7fffffffEntier correspondant à 1 + l’index du dernier caractère de la sous-chaîne extraite. Les valeurs valides de endIndex sont comprises entre 0 et String.length. Le caractère représenté par endIndex est exclu de la sous-chaîne. La valeur par défaut correspond à la valeur maximale autorisée d’un index. Si ce paramètre est omis, String.length est utilisé. Si ce paramètre correspond à une valeur négative, 0 est utilisé. Renvoie une chaîne composée du caractère spécifié par startIndex et de tous les caractères suivants jusqu’à endIndex - 1. Si endIndex n’est pas spécifié, String.length est utilisé. Si la valeur de startIndex est égale à la valeur endIndex, la méthode renvoie une chaîne vide. Si la valeur de startIndex est supérieure à la valeur de endIndex, les paramètres sont automatiquement permutés avant que la fonction ne s’exécute. La chaîne d’origine n’est pas modifiée. toLocaleLowerCase Renvoie une copie de cette chaîne, dont tous les caractères majuscules ont été convertis en minuscules.Copie de cette chaîne dans laquelle tous les caractères majuscules ont été convertis en minuscules. String Renvoie une copie de cette chaîne, dont tous les caractères majuscules ont été convertis en minuscules. La chaîne d’origine n’est pas modifiée. Bien que cette méthode soit conçue pour traiter la conversion en fonction des paramètres régionaux en vigueur, l’implémentation d’ActionScript 3.0 ne produit pas un résultat différent de la méthode toLowerCase(). toLowerCase()toLocaleUpperCase Renvoie une copie de cette chaîne, dont tous les caractères minuscules ont été convertis en majuscules.Copie de cette chaîne dans laquelle tous les caractères minuscules ont été convertis en majuscules. String Renvoie une copie de cette chaîne, dont tous les caractères minuscules ont été convertis en majuscules. La chaîne d’origine n’est pas modifiée. Bien que cette méthode soit conçue pour traiter la conversion en fonction des paramètres régionaux en vigueur, l’implémentation d’ActionScript 3.0 ne produit pas un résultat différent de la méthode toUpperCase(). toUpperCase()toLowerCase Renvoie une copie de cette chaîne, dont tous les caractères majuscules ont été convertis en minuscules.Copie de cette chaîne dans laquelle tous les caractères majuscules ont été convertis en minuscules. String Renvoie une copie de cette chaîne, dont tous les caractères majuscules ont été convertis en minuscules. La chaîne d’origine n’est pas modifiée.

Cette méthode convertit tous les caractères (pas seulement A-Z) pour lesquels il existe des équivalents minuscules Unicode :

var str:String = " JOSÉ BARÇA"; trace(str.toLowerCase()); // josé barça

Ces mappages de casse sont définis sur la page Unicode Character Database (disponible en anglais uniquement).

toUpperCase()
toUpperCase Renvoie une copie de cette chaîne, dont tous les caractères minuscules ont été convertis en majuscules.Copie de cette chaîne dans laquelle tous les caractères minuscules ont été convertis en majuscules. String Renvoie une copie de cette chaîne, dont tous les caractères minuscules ont été convertis en majuscules. La chaîne d’origine n’est pas modifiée.

Cette méthode convertit tous les caractères (pas seulement a-z) pour lesquels il existe des équivalents majuscules Unicode :

var str:String = "José Barça"; trace(str.toUpperCase()); // JOSÉ BARÇA

Ces mappages de casse sont définis sur la page Unicode Character Database (disponible en anglais uniquement).

toLowerCase()
valueOf Valeur primitive d’une occurrence de String.Valeur de la chaîne. String Valeur primitive d’une occurrence de String. Cette méthode est conçue pour convertir un objet String en une valeur de chaîne primitive. Etant donné que les moteurs d’exécution de Flash appellent automatiquement la méthode valueOf(), il est rarement nécessaire d’y faire explicitement appel. length Entier indiquant le nombre de caractères dans l’objet String spécifié.int Entier indiquant le nombre de caractères dans l’objet String spécifié.

Tous les index de chaîne étant de base zéro, l’index du dernier caractère pour une chaîne x est x.length - 1.

Class Un objet Class est créé pour chaque définition de classe d’un programme.Object Un objet Class est créé pour chaque définition de classe d’un programme. Chaque objet Class est une occurrence de la classe Class. L’objet Class contient les méthodes et propriétés statiques de la class. Il crée des occurrences de la classe si vous l’appelez en spécifiant l’opérateur new.

Certaines méthodes, telles que flash.net.getClassByAlias(), renvoient un objet de type Class. D’autres méthodes, telles que flash.net.registerClassAlias(), disposent parfois d’un paramètre de type Class.

Le nom de classe renvoie à l’objet Class, comme illustré dans l’exemple ci-dessous :

 
 class Foo {
 }
 

L’instruction class Foo{} est la définition de classe qui créé l’objet Class Foo. En outre, l’instruction new Foo() créera une occurrence de la classe Foo et le résultat sera de type Foo.

Utilisez l’instruction class pour déclarer vos classes. Les objets Class s’avèrent utiles pour les techniques évoluées telles que l’affectation de classes à un objet existant lors de l’exécution, comme illustré à la section « Exemples » ci-dessous.

Les méthodes et propriétés statiques d’une classe sont héritées par l’objet Class de la classe. En retour, Class déclare prototype.

En règle générale, il est inutile de déclarer ou de créer manuellement des variables de type Class. Cependant, dans le code ci-dessous, une propriété Class publique circleClass est affectée à une classe et vous pouvez vous y référer en tant que propriété de la classe Library principale :

package { import flash.display.Sprite; public class Library extends Sprite { public var circleClass:Class = Circle; public function Library() { } } } import flash.display.Shape; class Circle extends Shape { public function Circle(color:uint = 0xFFCC00, radius:Number = 10) { graphics.beginFill(color); graphics.drawCircle(radius, radius, radius); } }

Un autre fichier SWF peut charger le fichier Library.swf généré, puis instancier les objets de type Circle. L’exemple suivant illustre une façon d’accéder aux ressources d’un fichier SWF enfant (d’autres techniques font appel à flash.utils.getDefnitionByName() ou importent des définitions souche (stub) du fichier SWF enfant).

package { import flash.display.Sprite; import flash.display.Shape; import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; public class LibaryLoader extends Sprite { public function LibaryLoader() { var ldr:Loader = new Loader(); var urlReq:URLRequest = new URLRequest("Library.swf"); ldr.load(urlReq); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded); } private function loaded(event:Event):void { var library:Object = event.target.content; var circle:Shape = new library.circleClass(); addChild(circle); } } }

ActionScript 3.0 vous permet de créer des classes intégrées destinées aux ressources externes (telles que les images, les sons ou les polices) qui sont compilées dans des fichiers SWF. Dans les versions antérieures d’ActionScript, vous associez ces ressources à la méthode MovieClip.attachMovie() par le biais d’un ID de liaison. Dans ActionScript 3.0, chaque ressource intégrée est représentée par une classe de ressources intégrées unique. Vous pouvez de ce fait utiliser l’opérateur new pour instancier la classe associée à la ressource et appeler des méthodes et des propriétés sur cette dernière.

Par exemple, si vous utilisez un compilateur MXML pour générer des fichiers SWF, vous devez créer une classe intégrée de la manière suivante :

[Embed(source="bratwurst.jpg")] public var imgClass:Class;

Pour l’instancier, vous écrivez le code suivant :

var myImg:Bitmap = new imgClass();
L’exemple suivant indique comment utiliser les objets Class pour reporter à la période d’exécution les décisions de création d’occurrences de classe à l’aide des procédures suivantes :
  1. Déclare deux classes, ClassA et ClassB.
  2. Déclare une variable de type Class appelée classToConstruct et une autre de type Boolean appelée chooseClassA, qui est définie sur true dans ce cas. Votre code pourrait également utiliser une expression de test personnalisée pour définir la valeur de cette variable.
package { import flash.display.Sprite; public class ClassExample extends Sprite { public function ClassExample() { var classToConstruct:Class; var classInstance:Object; classToConstruct = ClassA; classInstance = new classToConstruct(); trace(classInstance); // [object ClassA] classToConstruct = ClassB; classInstance = new classToConstruct(); trace(classInstance); // [object ClassB] } } } class ClassA { } class ClassB { }
Object.prototypenew, opérateur
Namespace La classe Namespace contient les méthodes et propriétés destinées à la définition et à l’utilisation des espaces de nom.La classe Namespace contient les méthodes et propriétés destinées à la définition et à l’utilisation des espaces de nom des objets XML. Object La classe Namespace contient les méthodes et propriétés destinées à la définition et à l’utilisation des espaces de nom. Les espaces de nom sont utilisés dans trois cas de figure :
  • Espaces de nom d’objets XML Les espaces de nom associent un préfixe d’espace de nom à un URI (Uniform Resource Identifier) qui les identifie. Le préfixe est une chaîne utilisée pour référencer l’espace de nom dans un objet XML. Si le préfixe n’est pas défini, il est automatiquement généré lorsque l’objet XML est converti en chaîne.
  • Espaces de nom utilisés pour différencier les méthodes Les espaces de nom permettent de différencier les méthodes portant un nom identique pour effectuer des tâches différentes. Si deux méthodes ont le même nom, mais des espaces de nom distincts, elles peuvent exécuter des tâches différentes.
  • Espaces de nom pour le contrôle d’accès Les espaces de nom permettent de contrôler l’accès à un groupe de propriétés et de méthodes d’une classe. Si vous placez les propriétés et les méthodes dans un espace de nom privé, tout code qui n’a pas accès à l’espace de nom ne peut pas non plus accéder à celles-ci. Vous pouvez accorder un accès au groupe de propriétés et de méthodes en transmettant l’espace de nom à d’autres classes, méthodes ou fonctions.

Cette classe utilise deux formes de la méthode de constructeur, car chaque forme accepte des paramètres différents.

A l’instar des classes XML, XMLList et QName, cette classe implémente des normes de gestion XML performantes définies dans la spécification ECMAScript pour XML (E4X) (ECMA-357, édition 2).

L’exemple suivant indique comment traiter les noms d’espace définis dans les objets XML. Cette opération s’accomplit de la façon suivante :
  1. L’exemple définit trois objets Namespace, disposant tous d’un URI unique qui définit un nom d’espace.
  2. Cet exemple définit une variable XML appelée myXML et l’affecte à la valeur renvoyée par getRSS(). La méthode getRSS() définit un objet XML qui contient plusieurs noms d’espace et renvoie cet objet XML.
  3. Cet exemple déclare et évalue une variable Array en appelant la méthode parseRSS() tout en lui transmettant myXML. Dans parseRSS(), le nom d’espace XML par défaut est défini sous rss et l’exemple définit une variable XMLList en affectant la liste d’objets item dans myXML. Un tableau est créé et rempli par différents nœuds au sein de myXML.item. Le tableau est ensuite renvoyé.
  4. Les éléments du tableau sont imprimés à l’aide d’une boucle for et de trois appels à trace().
package { import flash.display.Sprite; public class NamespaceExample extends Sprite { private var rss:Namespace = new Namespace("http://purl.org/rss/1.0/"); private var rdf:Namespace = new Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#"); private var dc:Namespace = new Namespace("http://purl.org/dc/elements/1.1/"); public function NamespaceExample() { var myXML:XML = getRSS(); var rssItems:Array = parseRSS(myXML); var len:uint = rssItems.length; for (var i:uint; i < len; i++) { trace(rssItems[i].title); trace(rssItems[i].creator); trace(rssItems[i].date); // Adobe Flash Developer Center // Adobe // 2005-08-08 // Flex Developer Center // Adobe // 2005-10-16 } } private function parseRSS(rssXML:XML):Array { default xml namespace = rss; var items:XMLList = rssXML.item; var arr:Array = new Array(); var len:uint = items.length(); for (var i:uint; i < len; i++) { arr.push({title:items[i].title, creator:items[i].dc::creator, date:items[i].dc::date}); } return arr; } private function getRSS():XML { var myXML:XML = <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" > <channel rdf:about="http://www.xml.com/cs/xml/query/q/19"> <title>Test RSS</title> <link>http://www.adobe.com/</link> <description>This is a test RSS document.</description> <language>en-us</language> <items> <rdf:Seq> <rdf:li rdf:resource="http://www.adobe.com/devnet/flash/"/> <rdf:li rdf:resource="http://www.adobe.com/devnet/flex/"/> </rdf:Seq> </items> </channel> <item rdf:about="http://www.adobe.com/devnet/flash/"> <title>Adobe Flash Developer Center</title> <link>http://www.adobe.com/devnet/flash/</link> <description>Welcome to the Flash Developer Center</description> <dc:creator>Adobe</dc:creator> <dc:date>2005-08-08</dc:date> </item> <item rdf:about="http://www.adobe.com/devnet/flex/"> <title>Flex Developer Center</title> <link>http://www.adobe.com/devnet/flex/</link> <description>Welcome to the Flex Developer Center</description> <dc:creator>Adobe</dc:creator> <dc:date>2005-10-16</dc:date> </item> </rdf:RDF>; return myXML; } } }
L’exemple suivant indique comment les espaces de nom permettent de différencier les méthodes du même nom qui effectuent des tâches différentes. Dans cet exemple, trois méthodes appelées hello() résident dans des noms d’espace distincts, qui renvoient tous une chaîne distincte lorsqu’ils sont appelés. package { import flash.display.Sprite; public class Namespace_2_Example extends Sprite { public function Namespace_2_Example() { var vocab:MultilingualVocabulary = new MultilingualVocabulary(); trace(vocab.hello()); // hello var languages:Array = vocab.getLanguages(); for (var i:uint; i < languages.length; i++) { var ns:Namespace = languages[i]; if (ns != null) { trace(ns.toString() + ": " + vocab.ns::hello()); // hello // MultilingualVocabulary:Hawaiian: aloha // MultilingualVocabulary:French: bon jour } } } } } class MultilingualVocabulary { public namespace French; public namespace Hawaiian; private var languages:Array; public function MultilingualVocabulary() { languages = new Array(Hawaiian, French); } public function hello():String { return "hello"; } Hawaiian function hello():String { return "aloha"; } French function hello():String { return "bon jour"; } public function getLanguages():Array { return languages; } } L’exemple suivant utilise des noms d’espace de nom pour sélectionner une valeur de variable appropriée. Il indique comment vous pouvez stocker une valeur de nom d’espace dans une variable et utiliser cette dernière pour référencer des objets au sein de l’espace de nom.

L’exemple définit des espaces de nom et des couleurs qui correspondent à des états de souris pour un bouton rectangulaire. Lorsque le bouton est dessiné, l’exemple applique la couleur appropriée (rouge lorsque la souris quitte la zone active (out) ; jaune pour le survol (over) ; blanc pour abaissé (down)) en référençant la variable bgcolor pour l’espace de nom correspondant (out, over, down).

package { import flash.display.Sprite; public class Namespace_3_Example extends Sprite { public function Namespace_3_Example() { addChild(new StateButton("Press Me.")); } } } import flash.display.Sprite; import flash.text.TextField; import flash.events.Event; import flash.events.MouseEvent; class StateButton extends Sprite{ private namespace out; private namespace over; private namespace down; private var label:TextField; private var labelTxt:String; private var ns:Namespace; out var bgColor:Number = 0xFF0000; over var bgColor:Number = 0xFFFF00; down var bgColor:Number = 0xFFFFFF; public function StateButton(str:String) { buttonMode = true; labelTxt = str; ns = out; draw(); addLabel(); addListeners(); } private function addLabel():void { label = new TextField(); label.text = labelTxt; label.width = 50; label.height = 20; label.mouseEnabled = false; addChild(label); } private function addListeners():void { addEventListener(MouseEvent.MOUSE_UP, mouseOverHandler); addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); } private function mouseOutHandler(e:Event):void { ns = out; draw(); } private function mouseOverHandler(e:Event):void { ns = over; draw(); } private function mouseDownHandler(e:Event):void { ns = down; draw(); } private function draw():void { this.graphics.clear(); this.graphics.beginFill(ns::bgColor); this.graphics.drawRect(0, 0, 60, 20); } }
XMLXMLListQNameECMAScript pour la spécification XML (E4X) (ECMA-357 edition 2)Namespace Crée un objet Namespace en fonction de la valeur des paramètres prefixValue et uriValue.prefixValuePréfixe à utiliser pour l’espace de nom. uriValueURI (Uniform Resource Identifier) de l’espace de noms. Crée un objet Namespace en fonction des paramètres prefixValue et uriValue indiqués. Crée un objet Namespace en fonction de la valeur des paramètres prefixValue et uriValue. Ce constructeur requiert les deux paramètres.

La valeur du paramètre prefixValue est octroyée à la propriété prefix de la façon suivante :

  • Si undefined est transmis, prefix est réglé sur undefined.
  • Si la valeur est un nom XML valide, déterminé par la fonction isXMLName(), elle est convertie en chaîne et octroyée à la propriété prefix.
  • Si la valeur n’est pas un nom XML valide, la propriété prefix est définie sur undefined.

La valeur du paramètre uriValue est octroyée à la propriété uri de la façon suivante :

  • Si un objet QName est transmis, la propriété uri est définie sur la valeur de la propriété uri de l’objet QName.
  • Dans le cas contraire, le paramètre uriValue est converti en chaîne et octroyé à la propriété uri.

Remarque : cette classe utilise deux entrées de méthode de constructeur, car chaque forme accepte des paramètres différents. Le constructeur se comporte différemment selon le type et le nombre d’arguments transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d’un constructeur.

Namespace Crée un objet Namespace.uriValueURI (Uniform Resource Identifier) de l’espace de noms. Crée un objet Namespace en fonction du paramètre uriValue indiqué. Crée un objet Namespace. Les valeurs affectées aux propriétés uri et prefix du nouvel objet Namespace varient selon le type de valeur transmise pour le paramètre uriValue :
  • Si aucune valeur n’est transmise, les propriétés prefix et uri sont réglées sur une chaîne vide.
  • Si la valeur est un objet Namespace, une copie de ce dernier est générée.
  • Si la valeur est un objet QName, la propriété uri est définie sur la propriété uri de l’objet QName.

Remarque : cette classe utilise deux entrées de constructeur, car chaque forme accepte des paramètres différents. Le constructeur se comporte différemment selon le type et le nombre de paramètres transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d’un constructeur.

toString Equivalent à la propriété Namespace.uri.URI (Uniform Resource Identifier) de l’espace de nom, spécifié sous forme de chaîne. StringEquivalent à la propriété Namespace.uri. Equivalent à la propriété Namespace.uri. valueOf Renvoie la valeur URI de l’objet spécifié.URI (Uniform Resource Identifier) de l’espace de nom, spécifié sous forme de chaîne. StringEquivalent à la propriété Namespace.uri. Renvoie la valeur URI de l’objet spécifié. prefix Préfixe de l’espace de nom.StringPréfixe de l’espace de nom. Préfixe de l’espace de nom. uri URI (Uniform Resource Identifier) de l’espace de noms.StringURI (Uniform Resource Identifier) de l’espace de noms. URI (Uniform Resource Identifier) de l’espace de noms.
XML La classe XML contient les méthodes et propriétés réservées aux objets XML.Object La classe XML contient les méthodes et propriétés réservées aux objets XML. A l’instar des classes XMLList, Namespace et QName, la classe XML implémente des normes de gestion XML performantes définies dans la spécification ECMAScript pour XML (E4X) (ECMA-357, édition 2).

La méthode toXMLString() permet de renvoyer une représentation sous forme de chaîne de l’objet XML, que son contenu soit simple ou complexe.

Remarque : la classe XML et les classes apparentées intégrées à ActionScript 2.0 ont été renommées XMLDocument et transférées dans le package flash.xml. La classe XML figure dans ActionScript 3.0 à des fins de compatibilité ascendante.

L’exemple suivant crée tout d’abord une variable XML, puis y ajoute des nœuds. Ensuite, les propriétés XML permettent de trouver et imprimer des nœuds XML. Vous pouvez constater que le symbole « arrobase » (@) est utilisé dans plusieurs des appels trace() pour rechercher des informations en fonction du nom d’attribut. package { import flash.display.Sprite; public class XmlExample extends Sprite { public function XmlExample() { var employees:XML = <employees> <employee ssn="123-123-1234"> <name first="John" last="Doe"/> <address> <street>11 Main St.</street> <city>San Francisco</city> <state>CA</state> <zip>98765</zip> </address> </employee> <employee ssn="789-789-7890"> <name first="Mary" last="Roe"/> <address> <street>99 Broad St.</street> <city>Newton</city> <state>MA</state> <zip>01234</zip> </address> </employee> </employees>; trace(employees.employee[0].address.zip); // 98765 trace(employees.employee[1].@ssn); // 789-789-7890 trace(employees.employee.name); // <name first="John" last="Doe"/> // <name first="Mary" last="Roe"/> trace(employees..zip[0]); // 98765 trace(employees..@ssn[1]); // 789-789-7890 trace(employees..name); // <name first="John" last="Doe"/> // <name first="Mary" last="Roe"/> trace(employees.employee[0].address.*); // <street>11 Main St.</street> // <city>San Francisco</city> // <state>CA</state> // <zip>98765</zip> var node:String = "zip"; trace(employees.employee[0].address[node]); // 98765 var attribute:String = "ssn"; trace(employees.employee[1].@[attribute]); // 789-789-7890 for each (var num:XML in employees..@ssn) { trace(num); // 123-123-1234 } // 789-789-7890 var ssnToFind:String = "789-789-7890"; trace(employees.employee.(@ssn == ssnToFind).toXMLString()); // <employee ssn="789-789-7890"> // <name first="Mary" last="Roe"/> // <address> // <street>99 Broad St.</street> // <city>Newton</city> // <state>MA</state> // <zip>01234</zip> // </address> // </employee> } } }
Espace de nom QNameXMLListXML.toXMLString()ECMAScript pour la spécification XML (E4X) (ECMA-357 edition 2)XML Crée un objet XML.valueObjectTout objet qui peut être converti en objet XML à l’aide de la fonction de niveau supérieur XML(). Crée un objet XML. Vous devez utiliser le constructeur pour créer un objet XML avant d’appeler une des méthodes de la classe XML.

La méthode toXMLString() permet de renvoyer une représentation sous forme de chaîne de l’objet XML, que son contenu soit simple ou complexe.

L’exemple suivant indique comment charger un document XML distant dans ActionScript 3.0 à l’aide de la classe URLLoader dans Flash Professional. Exemple fourni par ActionScriptExamples.com. // // Requires: // - TextArea control UI component in the Flash Professional Library. // import fl.controls.TextArea; var xml:XML; var urlRequest:URLRequest = new URLRequest("http://www.helpexamples.com/flash/xml/menu.xml"); var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); var textArea:TextArea = new TextArea(); textArea.move(5, 5); textArea.setSize(stage.stageWidth - 10, stage.stageHeight - 10); addChild(textArea); function urlLoader_complete(evt:Event):void { xml = new XML(evt.currentTarget.data); textArea.text = xml.toXMLString(); } Voici une autre variante utilisant tout le code ActionScript. Exemple fourni par ActionScriptExamples.com. var xml:XML; var textArea:TextField = new TextField(); textArea.width = 300; var urlRequest:URLRequest = new URLRequest("http://www.helpexamples.com/flash/xml/menu.xml"); var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT; urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); function urlLoader_complete(evt:Event):void { xml = new XML(evt.target.data); textArea.text = xml.toXMLString(); addChild(textArea); }
Fonction globale XML()XML.toXMLString()
addNamespace Ajoute un espace de noms à l’ensemble d’espaces de noms du domaine associé à l’objet XML.Nouvel objet XML, auquel est ajouté l’espace de noms. XMLnsObjectEspace de noms à ajouter à l’objet XML. Ajoute un espace de noms à l’ensemble d’espaces de noms du domaine associé à l’objet XML. Si l’espace de noms figure déjà dans l’ensemble d’espaces de noms du domaine associé à l’objet XML (avec un préfixe qui correspond au paramètre spécifié), le préfixe correspondant est réglé sur undefined. Si le paramètre d’entrée est un objet Namespace, il est utilisé directement. S’il correspond à un objet QName, l’URI du paramètre d’entrée est utilisé pour créer un espace de noms. Dans le cas contraire, il est converti en chaîne et un espace de noms est généré à partir de la chaîne. Cet exemple utilise un espace de noms défini dans un objet XML et l’applique à un autre objet XML : var xml1:XML = <ns:foo xmlns:ns="www.example.com/ns" />; var nsNamespace:Namespace = xml1.namespace(); var xml2:XML = <bar />; xml2.addNamespace(nsNamespace); trace(xml2.toXMLString()); // <bar xmlns:ns="www.example.com/ns"/> appendChild Ajoute l’enfant indiqué à la fin des propriétés de l’objet XML.Objet XML produit. XMLchildObjectObjet XML à ajouter. Ajoute l’enfant indiqué à la fin des propriétés de l’objet XML. La méthode appendChild() accepte un objet XML, un objet XMLList ou tout autre type de données qui est ensuite converti en chaîne.

Utilisez l’opérateur delete (XML) pour supprimer les nœuds XML.

Cet exemple ajoute un nouvel élément à la fin de la liste enfant d’un objet XML : var xml:XML = <body> <p>hello</p> </body>; xml.appendChild(<p>world</p>); trace(xml.p[0].toXMLString()); // <p>hello</p> trace(xml.p[1].toXMLString()); // <p>world</p>
delete, opérateur (XML)
attribute Renvoie la valeur XML de l’attribut dont le nom correspond au paramètre attributeName.Objet XMLList ou objet XMLList vide. Renvoie un objet XMLList vide si vous n’avez pas défini la valeur d’un attribut. XMLListattributeNameNom de l’attribut. Renvoie la valeur XML de l’attribut dont le nom correspond au paramètre attributeName. Les attributs sont intégrés aux éléments XML. Dans l’exemple suivant, l’élément a un attribut appelé "gender" avec la valeur "boy" : <first gender="boy">John</first>.

Le paramètre attributeName peut correspondre à n’importe quel type de données, mais String est généralement utilisé. Si vous transmettez un objet autre que QName, le paramètre attributeName utilise la méthode toString() pour convertir le paramètre en chaîne.

Si une référence de nom complet s’impose, vous pouvez transmettre un objet QName. Un objet QName définit un espace de noms et le nom local, que vous pouvez utiliser pour définir le nom complet d’un attribut. De ce fait, appeler attribute(qname) n’est pas équivalent à appeler attribute(qname.toString()).

Cet exemple porte sur un objet QName transmis par la méthode attribute(). La propriété localName est attr et la propriété namespace est ns. var xml:XML = <ns:node xmlns:ns = "http://uri" ns:attr = '7' /> var qn:QName = new QName("http://uri", "attr"); trace (xml.attribute(qn)); // 7 Pour renvoyer un attribut avec un nom qui correspond à un mot ActionScript réservé, utilisez la méthode attribute() et non pas l’opérateur d’identificateur d’attribut (@), comme dans l’exemple suivant : var xml:XML = <example class="first" /> trace(xml.attribute("class"));
XML.attributes()QNameEspace de nom XML.elements()opérateur d’identificateur d’attribut (&#064;)
attributes Renvoie une liste de valeurs d’attribut associée à l’objet XML indiqué.Liste de valeurs d’attributs. XMLList Renvoie une liste de valeurs d’attribut associée à l’objet XML indiqué. Utilisez la méthode name() en conjonction avec la méthode attributes() pour renvoyer le nom d’un attribut. L’utilisation de xml.attributes() est équivalente à xml.@*. L’exemple suivant renvoie le nom de l’attribut : var xml:XML=<example id='123' color='blue'/> trace(xml.attributes()[1].name()); //color Cet exemple renvoie les noms de tous les attributs : var xml:XML = <example id='123' color='blue'/> var attNamesList:XMLList = xml.@*; trace (attNamesList is XMLList); // true trace (attNamesList.length()); // 2 for (var i:int = 0; i < attNamesList.length(); i++) { trace (typeof (attNamesList[i])); // xml trace (attNamesList[i].nodeKind()); // attribute trace (attNamesList[i].name()); // id and color } XML.attribute()XML.name()opérateur &#064;childIndex Identifie la position d’index qui commence à zéro de cet objet XML dans le contexte de l’objet parent.Position de l’objet. Renvoie -1 et des entiers positifs. int Identifie la position d’index qui commence à zéro de cet objet XML dans le contexte de l’objet parent. Cet exemple indique comment utiliser la méthode childIndex() : var xml:XML = <foo> <bar /> text <bob /> </foo>; trace(xml.bar.childIndex()); // 0 trace(xml.bob.childIndex()); // 2 child Recense les enfants d’un objet XML.Objet XMLList contenant les nœuds enfant qui correspondent au paramètre d’entrée. XMLListpropertyNameObjectNom de l’élément ou entier de l’objet XML enfant. Recense les enfants d’un objet XML. Un enfant XML est un élément, un nœud de texte, un commentaire ou une instruction de traitement XML.

Le paramètre propertyName permet de recenser le contenu d’un enfant XML spécifique. Par exemple, pour renvoyer le contenu d’un enfant appelé <first>, utilisez child.name("first"). Vous pouvez générer le même résultat à partir du numéro d’index de l’enfant. Le numéro d’index identifie la position de l’enfant dans la liste d’enfants XML. Par exemple, name.child(0) renvoie le premier enfant d’une liste.

Utilisez un astérisque (~~) pour extraire tous les enfants dans un document XML. Exemple : doc.child("~~").

La méthode length() associée au paramètre astérisque (~~) de la méthode child() permet de produire le nombre total d’enfants. Exemple : numChildren = doc.child("~~").length().

Cet exemple porte sur l’utilisation de la méthode child() pour identifier les éléments enfant avec le nom spécifié : var xml:XML = <foo> <bar>text1</bar> <bar>text2</bar> </foo>; trace(xml.child("bar").length()); // 2 trace(xml.child("bar")[0].toXMLString()); // <bar>text1</bar> trace(xml.child("bar")[1].toXMLString()); // <bar>text2</bar>
XML.elements()XMLList, classeXML.length()
children Recense les enfants de l’objet XML dans l’ordre dans lequel ils apparaissent.Objet XMLList contenant les enfants de l’objet XML. XMLList Recense les enfants de l’objet XML dans l’ordre dans lequel ils apparaissent. Un enfant XML est un élément, un nœud de texte, un commentaire ou une instruction de traitement XML. Cet exemple indique comment utiliser la méthode children() : XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var xml:XML = <foo id="22"> <bar>44</bar> text <!-- comment --> <?instruction ?> </foo>; trace(xml.children().length()); // 4 trace(xml.children()[0].toXMLString()); // <bar>44</bar> trace(xml.children()[1].toXMLString()); // text trace(xml.children()[2].toXMLString()); // <!-- comment --> trace(xml.children()[3].toXMLString()); // <?instruction ?> comments Recense les propriétés de l’objet XML qui contient des commentaires XML.Objet XMLList des propriétés qui contiennent des commentaires. XMLList Recense les propriétés de l’objet XML qui contient des commentaires XML. Cet exemple indique comment utiliser la méthode comments() : XML.ignoreComments = false; var xml:XML = <foo> <!-- example --> <!-- example2 --> </foo>; trace(xml.comments().length()); // 2 trace(xml.comments()[1].toXMLString()); // <!-- example2 --> contains Compare l’objet XML au paramètre value spécifié.Renvoie true si l’objet XML correspond au paramètre value, false dans le cas contraire. BooleanvalueXMLValeur à comparer à l’objet XML en cours. Compare l’objet XML au paramètre value spécifié. Cet exemple indique comment utiliser la méthode contains() : var xml:XML = <order> <item>Rice</item> <item>Kung Pao Shrimp</item> </order>; trace(xml.item[0].contains(<item>Rice</item>)); // true trace(xml.item[1].contains(<item>Kung Pao Shrimp</item>)); // true trace(xml.item[1].contains(<item>MSG</item>)); // false copy Renvoie une copie de l’objet XML spécifié.Copie de l’objet. XML Renvoie une copie de l’objet XML spécifié. Cette copie est une duplication de l’arborescence entière de nœuds. L’objet XML copié ne possède pas de parent et renvoie null si vous tentez d’appeler la méthode parent(). Cet exemple indique que la méthode copy() crée une nouvelle occurrence d’un objet XML. Lorsque vous modifiez la copie, l’original reste inchangé : var xml1:XML = <foo />; var xml2:XML = xml1.copy(); xml2.appendChild(<bar />); trace(xml1.bar.length()); // 0 trace(xml2.bar.length()); // 1 defaultSettings Renvoie un objet avec les propriétés suivantes définies sur les valeurs par défaut : ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent et prettyPrinting.Objet dont les propriétés sont réglées sur leur valeur par défaut. Object Renvoie un objet avec les propriétés suivantes définies sur les valeurs par défaut : ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent et prettyPrinting. Les valeurs par défaut sont les suivantes :
  • ignoreComments = true
  • ignoreProcessingInstructions = true
  • ignoreWhitespace = true
  • prettyIndent = 2
  • prettyPrinting = true

Remarque : cette méthode ne doit pas être appliquée à une occurrence de la classe XML, mais à XML, comme illustré dans le code suivant : var df:Object = XML.defaultSettings().

L’exemple ci-dessous illustre les points suivants : comment appliquer des paramètres personnalisés (pour l’inclusion de commentaires et d’instructions de traitement) avant de définir un objet XML ; comment ensuite rétablir les paramètres par défaut avant de définir un autre objet XML ; et enfin comment définir de nouveau les paramètres par défaut (pour définir d’autres objets XML) : XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var customSettings:Object = XML.settings(); var xml1:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml1.toXMLString()); // <foo> // <!-- comment --> // <?instruction ?> // </foo> XML.setSettings(XML.defaultSettings()); var xml2:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml2.toXMLString());
XML.ignoreCommentsXML.ignoreProcessingInstructionsXML.ignoreWhitespaceXML.prettyIndentXML.prettyPrintingXML.setSettings()XML.settings()
descendants Renvoie tous les descendants (enfants, petits-enfants, arrière-petits-enfants, etc.) de l’objet XML associés au paramètre name indiqué.Objet XMLList contenant tous les descendants correspondants. S’il n’existe pas de descendants, la méthode renvoie un objet XMLList vide. XMLListnameObject*Nom de l’élément pour lequel établir une correspondance. Renvoie tous les descendants (enfants, petits-enfants, arrière-petits-enfants, etc.) de l’objet XML associés au paramètre name indiqué. Le paramètre name est facultatif. Le paramètre name peut être un objet QName, un type de données String ou tout autre type de données converti ensuite au type de données String.

Pour renvoyer tous les descendants, utilisez le paramètre « ~~ ». Si aucun paramètre n’est transmis, la chaîne « ~~ » est transmise et renvoie tous les descendants de l’objet XML.

Pour renvoyer les descendants sous des noms qui correspondent aux mots réservés ActionScript, utilisez la méthode descendants() de préférence à l’opérateur de descendance (..), comme indiqué dans l’exemple suivant : var xml:XML = <enrollees> <student id="239"> <class name="Algebra" /> <class name="Spanish 2"/> </student> <student id="206"> <class name="Trigonometry" /> <class name="Spanish 2" /> </student> </enrollees> trace(xml.descendants("class")); Cet exemple illustre le fait que la méthode descendants() renvoie un objet XMLList qui contient tous les objets descendants, ce qui inclut les enfants, les petits enfants, etc. : XML.ignoreComments = false; var xml:XML = <body> <!-- comment --> text1 <a> <b>text2</b> </a> </body>; trace(xml.descendants("*").length()); // 5 trace(xml.descendants("*")[0]); // // <!-- comment --> trace(xml.descendants("*")[1].toXMLString()); // text1 trace(xml.descendants("a").toXMLString()); // <a><b>text2</b></a> trace(xml.descendants("b").toXMLString()); // <b>text2</b>
accesseur de descendance (..) operator
elements Recense les éléments d’un objet XML.Objet XMLList qui comporte le contenu de l’élément. Le contenu d’un élément est compris entre la balise de début et la balise de fin. Si vous utilisez l’astérisque (~~) pour appeler tous les éléments, les balises et le contenu sont renvoyés. XMLListnameObject*Nom de l’élément. Un nom d’élément est entouré de chevrons. Par exemple, "first" correspond à name dans cet exemple : <first></first> . Recense les éléments d’un objet XML. Un élément se compose d’une balise de début et d’une balise de fin, telle que <first></first>. Le paramètre name est facultatif. Le paramètre name peut être un objet QName, un type de données String ou tout autre type de données converti ensuite au type de données String. Utilisez le paramètre name pour recenser un élément spécifique. Par exemple, l’élément first renvoie John dans cet exemple : <first>John</first>.

Pour recenser tous les éléments, utilisez le paramètre astérisque (~~). L’astérisque est également le paramètre par défaut.

La méthode length() associée au paramètre astérisque permet d’extraire le nombre total d’éléments. Par exemple, numElement = addressbook.elements("~~").length().

L’exemple suivant indique que la méthode elements() renvoie uniquement une liste d’éléments — sans commentaire, propriété de texte ou instruction de traitement : var xml:XML = <foo> <!-- comment --> <?instruction ?> text <a>1</a> <b>2</b> </foo>; trace(xml.elements("*").length()); // 2 trace(xml.elements("*")[0].toXMLString()); // <a>1</a> trace(xml.elements("b").length()); // 1 trace(xml.elements("b")[0].toXMLString()); // <b>2</b> Pour renvoyer les descendants sous des noms qui correspondent aux mots réservés ActionScript, utilisez la méthode elements() de préférence à l’opérateur point (.) du code XML, comme indiqué dans l’exemple suivant : var xml:XML = <student id="206"> <class name="Trigonometry" /> <class name="Spanish 2" /> </student> trace(xml.elements("class"));
XML.child()XMLList, classeXML.length()XML.attribute()point XML (.) operator
hasComplexContent Vérifie si l’objet XML intègre un contenu complexe.Renvoie true si l’objet XML intègre un contenu complexe, false dans le cas contraire. Boolean Vérifie si l’objet XML intègre un contenu complexe. Le contenu d’un objet XML est complexe s’il possède des éléments enfant. Les objets XML qui représentent des attributs, des commentaires, des instructions de traitement et des nœuds de texte n’intègrent pas un contenu complexe. Le contenu d’un objet qui intègre ces entités peut néanmoins être considéré comme complexe si l’objet possède des éléments enfant. L’exemple suivant porte sur un objet XML, avec une propriété appelée a qui a un contenu simple et une autre propriété a qui a du contenu complexe : var xml:XML = <foo> <a> text </a> <a> <b/> </a> </foo>; trace(xml.a[0].hasComplexContent()); // false trace(xml.a[1].hasComplexContent()); // true trace(xml.a[0].hasSimpleContent()); // true trace(xml.a[1].hasSimpleContent()); // false XML.hasSimpleContent()hasOwnProperty Vérifie si l’objet possède la propriété spécifiée par le paramètre p.Renvoie true si la propriété existe, false dans le cas contraire. BooleanpStringPropriété pour laquelle établir une correspondance. Vérifie si l’objet possède la propriété spécifiée par le paramètre p. L’exemple suivant utilise la méthode hasOwnProperty() pour s’assurer que la propriété (b) existe avant d’évaluer une expression (b == "11") qui utilise cette propriété : var xml:XML = <foo> <a /> <a> <b>10</b> </a> <a> <b>11</b> </a> </foo>; trace(xml.a.(hasOwnProperty("b") && b == "11")); Si la dernière ligne de cet exemple était remplacée par ce qui suit, Flash Player renverrait une exception dans la mesure où le premier élément appelé a ne comporte pas de propriété b :

trace(xml.a.(b == "11"));

L’exemple suivant utilise la méthode hasOwnProperty() pour s’assurer que la propriété (item) existe avant d’évaluer une expression (item.contains("toothbrush")) qui utilise cette propriété : var xml:XML = <orders> <order id='1'> <item>toothbrush</item> <item>toothpaste</item> </order> <order> <returnItem>shoe polish</returnItem> </order> </orders>; trace(xml.order.(hasOwnProperty("item") && item.contains("toothbrush")));
hasSimpleContent Vérifie si l’objet XML intègre un contenu simple.Renvoie true si l’objet XML intègre un contenu simple, false dans le cas contraire. Boolean Vérifie si l’objet XML intègre un contenu simple. Un objet XML intègre un contenu simple s’il représente un nœud de texte, un nœud d’attribut ou un élément XML sans élément enfant. Les objets XML qui représentent des commentaires et des instructions de traitement n’intègrent pas un contenu simple. L’exemple suivant porte sur un objet XML, avec une propriété appelée a qui a un contenu simple et une autre propriété a qui a du contenu complexe : var xml:XML = <foo> <a> text </a> <a> <b/> </a> </foo>; trace(xml.a[0].hasComplexContent()); // false trace(xml.a[1].hasComplexContent()); // true trace(xml.a[0].hasSimpleContent()); // true trace(xml.a[1].hasSimpleContent()); // false XML.hasComplexContent()inScopeNamespaces Recense les espaces de noms associés à l’objet XML, par rapport au parent de l’objet.Tableau d’objets Namespace. Array Recense les espaces de noms associés à l’objet XML, par rapport au parent de l’objet. insertChildAfter Insère le paramètre child2 indiqué après le paramètre child1 dans cet objet XML et renvoie l’objet produit.Objet XML produit ou undefined. child1ObjectObjet dans l’objet source que vous insérez avant child2. child2ObjectObjet à insérer. Insère le paramètre child2 indiqué après le paramètre child1 dans cet objet XML et renvoie l’objet produit. Si le paramètre child1 est réglé sur null, la méthode insère le contenu de child2 avant tous les enfants de l’objet XML (en d’autres termes, après none). Si child1 est fourni, mais qu’il n’existe pas dans l’objet XML, celui-ci n’est pas modifié et undefined est renvoyé.

Si vous appelez cette méthode pour un enfant XML qui n’est pas un élément (texte, attributs, commentaires, pi, etc.), undefined est renvoyé.

Utilisez l’opérateur delete (XML) pour supprimer les nœuds XML.

L’exemple suivant ajoute un nouvel élément à la fin des éléments enfant d’un objet XML : var xml:XML = <menu> <item>burger</item> <item>soda</item> </menu>; xml.insertChildAfter(xml.item[0], <saleItem>fries</saleItem>); trace(xml); Le code trace() suivant est renvoyé :
 <menu>
     <item>burger</item>
     <saleItem>fries</saleItem>
     <item>soda</item>
 </menu>
XML.insertChildBefore()delete, opérateur (XML)
insertChildBefore Insère le paramètre child2 indiqué avant le paramètre child1 dans cet objet XML et renvoie l’objet produit.Objet XML produit ou undefined. child1ObjectObjet de l’objet source que vous insérez après child2. child2ObjectObjet à insérer. Insère le paramètre child2 indiqué après le paramètre child1 dans cet objet XML et renvoie l’objet produit. Si le paramètre child1 est réglé sur null, la méthode insère le contenu de child2 après tous les enfants de l’objet XML (en d’autres termes, avant none). Si child1 est fourni, mais qu’il n’existe pas dans l’objet XML, celui-ci n’est pas modifié et undefined est renvoyé.

Si vous appelez cette méthode pour un enfant XML qui n’est pas un élément (texte, attributs, commentaires, pi, etc.), undefined est renvoyé.

Utilisez l’opérateur delete (XML) pour supprimer les nœuds XML.

L’exemple suivant ajoute un nouvel élément à la fin des éléments enfant d’un objet XML : var xml:XML = <menu> <item>burger</item> <item>soda</item> </menu>; xml.insertChildBefore(xml.item[0], <saleItem>fries</saleItem>); trace(xml); Le code trace() suivant est renvoyé :
 <menu>
     <saleItem>fries</saleItem>
     <item>burger</item>
     <item>soda</item>
 </menu>
XML.insertChildAfter()delete, opérateur (XML)
length Pour les objets XML, cette méthode renvoie toujours l’entier 1.Renvoie toujours 1 pour tout objet XML. int Pour les objets XML, cette méthode renvoie toujours l’entier 1. La méthode length() de la classe XMLList renvoie la valeur 1 si l’objet XMLList ne contient qu’une seule valeur. localName Indique la partie nom local du nom complet de l’objet XML.Nom local exprimé sous forme de chaîne ou null. Object Indique la partie nom local du nom complet de l’objet XML. L’exemple suivant illustre l’utilisation de la méthode localName(). var xml:XML = <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:wx = "http://example.com/weather"> <wx:forecast> <wx:city>Quito</wx:city> </wx:forecast> </soap:Body> </soap:Envelope>; trace(xml.localName()); // Envelope name Indique le nom complet de l’objet XML.Le nom complet correspond à QName ou null. Object Indique le nom complet de l’objet XML. L’exemple suivant illustre l’utilisation de la méthode name() pour obtenir le nom qualifié d’un objet XML : var xml:XML = <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:wx = "http://example.com/weather"> <wx:forecast> <wx:city>Quito</wx:city> </wx:forecast> </soap:Body> </soap:Envelope>; trace(xml.name().localName); // Envelope trace(xml.name().uri); // "http://www.w3.org/2001/12/soap-envelope" L’exemple suivant illustre l’utilisation de la méthode name() lorsqu’elle est appelée sur une propriété XML, sur un élément de texte et sur un attribut : var xml:XML = <foo x="15" y="22"> text </foo>; trace(xml.name().localName); // foo trace(xml.name().uri == ""); // true trace(xml.children()[0]); // text trace(xml.children()[0].name()); // null trace(xml.attributes()[0]); // 15 trace(xml.attributes()[0].name()); // x XML.attributes()identificateur d’attributnamespaceDeclarations Recense les déclarations d’espace de nom associées à l’objet XML dans le contexte de l’objet parent.Tableau d’objets Namespace. Array Recense les déclarations d’espace de nom associées à l’objet XML dans le contexte de l’objet parent. L’exemple suivant renvoie les déclarations d’espace de noms d’un objet XML : var xml:XML = <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/"> <!-- ... --> </rdf:RDF>; for (var i:uint = 0; i < xml.namespaceDeclarations().length; i++) { var ns:Namespace = xml.namespaceDeclarations()[i]; var prefix:String = ns.prefix; if (prefix == "") { prefix = "(default)"; } trace(prefix + ":" , ns.uri); } Le code trace() suivant est renvoyé :
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
 dc: http://purl.org/dc/elements/1.1/
 (default): http://purl.org/rss/1.0/
XML.namespace()
namespace Si vous ne fournissez pas de paramètre, indique l’espace de noms associé au nom complet de cet objet XML.Renvoie null, undefined ou un espace de noms. prefixStringnullPréfixe pour lequel établir une correspondance. Si vous ne fournissez pas de paramètre, indique l’espace de noms associé au nom complet de cet objet XML. Si vous spécifiez un paramètre prefix, la méthode renvoie l’espace de noms correspondant au paramètre prefix qui figure dans le domaine associé à l’objet XML. S’il n’existe pas d’espace de noms de ce type, la méthode renvoie undefined. L’exemple suivant utilise la méthode namespace() pour obtenir l’espace de noms d’un objet XML et l’affecter à un objet Namespace appelé soap qui est ensuite utilisé pour identifier une propriété de l’objet xml (xml.soap::Body[0]) : var xml:XML = <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:wx = "http://example.com/weather"> <wx:forecast> <wx:city>Quito</wx:city> </wx:forecast> </soap:Body> </soap:Envelope>; var soap:Namespace = xml.namespace(); trace(soap.prefix); // soap trace(soap.uri); // http://www.w3.org/2001/12/soap-envelope var body:XML = xml.soap::Body[0]; trace(body.namespace().prefix); // soap trace(xml.namespace().uri); // http://www.w3.org/2001/12/soap-envelope trace(body.namespace("wx").uri); // "http://example.com/weather" L’exemple suivant utilise la méthode namespace() pour obtenir l’espace de noms par défaut d’un nœud, ainsi que l’espace de noms pour un préfixe spécifique ("dc") : var xml:XML = <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/"> <!-- ... --> </rdf:RDF>; trace(xml.namespace()); // http://www.w3.org/1999/02/22-rdf-syntax-ns# trace(xml.namespace("dc")); // http://purl.org/dc/elements/1.1/ trace(xml.namespace("foo")); // undefined nodeKind Définit le type de nœud : texte, commentaire, instruction de traitement, attribut ou élément.Type de nœud utilisé. String Définit le type de nœud : texte, commentaire, instruction de traitement, attribut ou élément. Cet exemple suit les cinq types de nœud : XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var xml:XML = <example id="10"> <!-- this is a comment --> <?test this is a pi ?> and some text </example>; trace(xml.nodeKind()); // element trace(xml.children()[0].nodeKind()); // comment trace(xml.children()[1].nodeKind()); // processing-instruction trace(xml.children()[2].nodeKind()); // text trace(xml.@id[0].nodeKind()); // attribute identificateur d’attributnormalize Pour l’objet XML et tous les objets XML descendants, fusionne les nœuds de texte adjacents et supprime les nœuds de texte vides.Objet XML normalisé produit. XML Pour l’objet XML et tous les objets XML descendants, fusionne les nœuds de texte adjacents et supprime les nœuds de texte vides. L’exemple suivant illustre l’effet de l’appel de la méthode normalize() : var xml:XML = <body></body>; xml.appendChild("hello"); xml.appendChild(" world"); trace(xml.children().length()); // 2 xml.normalize(); trace(xml.children().length()); // 1 parent Renvoie le parent de l’objet XML.Une référence XML du noeud parent ou undefined si l’objet XML n’a pas de parent. Renvoie le parent de l’objet XML. Si l’objet XML ne possède pas de parent, la méthode renvoie undefined. L’exemple suivant utilise la méthode parent() pour identifier l’élément parent d’un élément spécifique dans une structure XML : var xml:XML = <body> <p id="p1">Hello</p> <p id="p2">Test: <ul> <li>1</li> <li>2</li> </ul> </p> </body>; var node:XML = xml.p.ul.(li.contains("1"))[0]; // == <ul> ... </ul> trace(node.parent().@id); // p2 prependChild Insère une copie de l’objet child fourni dans l’élément XML avant toute propriété XML associée à cet élément.Objet XML produit. XMLvalueObjectObjet à insérer. Insère une copie de l’objet child fourni dans l’élément XML avant toute propriété XML associée à cet élément.

Utilisez l’opérateur delete (XML) pour supprimer les nœuds XML.

L’exemple suivant utilise la méthode prependChild() pour ajouter un élément au début de la liste d’enfants d’un objet XML : var xml:XML = <body> <p>hello</p> </body>; xml.prependChild(<p>world</p>); trace(xml.p[0].toXMLString()); // <p>world</p> trace(xml.p[1].toXMLString()); // <p>hello</p>
delete, opérateur (XML)
processingInstructions Si un paramètre name est spécifié, la méthode recense tous les enfants de l’objet XML qui contiennent des instructions de traitement portant le nom indiqué.Liste d’objets enfant correspondants. XMLListnameString*Nom des instructions de traitement pour lesquelles établir une correspondance. Si un paramètre name est spécifié, recense tous les enfants de l’objet XML qui contiennent des instructions de traitement portant le name indiqué. Si aucun paramètre n’est spécifié, la méthode recense tous les enfants de l’objet XML qui contiennent des instructions de traitement. L’exemple suivant utilise la méthode processingInstructions() pour obtenir un tableau d’instructions de traitement pour un objet XML : XML.ignoreProcessingInstructions = false; var xml:XML = <body> foo <?xml-stylesheet href="headlines.css" type="text/css" ?> <?instructionX ?> </body>; trace(xml.processingInstructions().length()); // 2 trace(xml.processingInstructions()[0].name()); // xml-stylesheet propertyIsEnumerable Vérifie si la propriété p figurre dans le jeu de propriétés qui peut faire l’objet d’une itération avec une instruction for..in appliquée à l’objet XML.Si la propriété peut faire l’objet d’une itération dans une instruction for..in, puis true ; sinon false. BooleanpStringPropriété à vérifier. Vérifie si la propriété p figure dans le jeu de propriétés qui peut faire l’objet d’une itération avec une instruction for..in appliquée à l’objet XML. Ne renvoie true que si toString(p) == "0". L’exemple suivant indique que, pour un objet XML, la méthode propertyNameIsEnumerable() ne renvoie la valeur true que pour la valeur 0, tandis que pour un objet XMLList, la valeur renvoyée est true pour chaque valeur d’index valide pour l’objet XMLList : var xml:XML = <body> <p>Hello</p> <p>World</p> </body>; trace(xml.propertyIsEnumerable(0)); // true trace(xml.propertyIsEnumerable(1)); // false for (var propertyName:String in xml) { trace(xml[propertyName]); } var list:XMLList = xml.p; trace(list.propertyIsEnumerable(0)); // true trace(list.propertyIsEnumerable(1)); // true trace(list.propertyIsEnumerable(2)); // false for (var propertyName:String in list) { trace(list[propertyName]); } removeNamespace Supprime l’espace de noms indiqué pour cet objet et tous ses descendants.Copie de l’objet XML produit. XMLnsNamespaceEspace de noms à supprimer. Supprime l’espace de noms indiqué pour cet objet et tous ses descendants. La méthode removeNamespaces() ne supprime pas un espace de noms s’il est référencé par le nom complet de l’objet ou celui des attributs de l’objet. L’exemple suivant indique comment supprimer une déclaration d’espace de noms à partir d’un objet XML : var xml:XML = <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/"> <!-- ... --> </rdf:RDF>; trace(xml.namespaceDeclarations().length); // 3 trace(xml.namespaceDeclarations()[0] is String); // var dc:Namespace = xml.namespace("dc"); xml.removeNamespace(dc); trace(xml.namespaceDeclarations().length); // 2 replace Remplace les propriétés spécifiées par le paramètre propertyName par le paramètre value indiqué.Objet XML produit, dans lequel les propriétés correspondantes ont été remplacées. XMLpropertyNameObjectPeut être une valeur numérique, un nom incomplet d’ensemble d’éléments XML, un nom complet d’ensemble d’éléments XML ou le caractère générique astérisque (« * »). Utilisez un nom incomplet pour identifier les éléments XML dans l’espace de noms par défaut. valueXMLValeur de remplacement, qui peut être un objet XML, un objet XMLList ou toute valeur pouvant être convertie par le biais de toString(). Remplace les propriétés spécifiées par le paramètre propertyName par le paramètre value indiqué. Si aucune propriété ne correspond à propertyName, l’objet XML n’est pas modifié. L’exemple suivant illustre l’appel à la méthode replace() avec un entier en tant que premier paramètre : var xml:XML = <body> <p>Hello</p> <p>World</p> <hr/> </body>; xml.replace(1, <p>Bob</p>); trace(xml); Le résultat du code trace() est le suivant :

 <body>
     <p>Hello</p>
     <p>Bob</p>
     <hr/>
 </body>
 
L’exemple suivant appelle la méthode replace() avec une chaîne en tant que premier paramètre : var xml:XML = <body> <p>Hello</p> <p>World</p> <hr/> </body>; xml.replace("p", <p>Hi</p>); trace(xml); Le résultat du code trace() est le suivant :

 <body>
     <p>Hi</p>
     <hr/>
 </body>;
 
L’exemple suivant illustre l’appel à la méthode replace() avec un QName en tant que premier paramètre : var xml:XML = <ns:body xmlns:ns = "myNS"> <ns:p>Hello</ns:p> <ns:p>World</ns:p> <hr/> </ns:body>; var qname:QName = new QName("myNS", "p"); xml.replace(qname, <p>Bob</p>); trace(xml); Le résultat du code trace() est le suivant :

 <ns:body xmlns:ns = "myNS">
     <p>Bob</p>
     <hr/>
 </ns:body>
 
L’exemple suivant illustre l’appel à la méthode replace() avec la chaîne "*" en tant que premier paramètre : var xml:XML = <body> <p>Hello</p> <p>World</p> <hr/> </body>; xml.replace("*", <img src = "hello.jpg"/>); trace(xml); Le résultat du code trace() est le suivant :

 <body>
     <img src="hello.jpg"/>
 </body>
 
setChildren Remplace les propriétés enfant de l’objet XML par l’ensemble de propriétés XML spécifié, fourni dans le paramètre value.Objet XML produit. XMLvalueObjectPropriétés XML de remplacement (objet XML unique ou objet XMLList). Remplace les propriétés enfant de l’objet XML par l’ensemble de propriétés XML spécifié, fourni dans le paramètre value. L’exemple suivant illustre l’appel de la méthode setChildren(), tout d’abord en utilisant un objet XML en tant que paramètre, puis utilise un objet XMLList en tant que paramètre : var xml:XML = <body> <p>Hello</p> <p>World</p> </body>; var list:XMLList = xml.p; xml.setChildren(<p>hello</p>); trace(xml); // <body> // <p>hello</p> // </body> xml.setChildren(list); trace(xml); // <body> // <p>Hello</p> // <p>World</p> // </body> setLocalName Remplace le nom local de l’objet XML par le paramètre name indiqué.nameStringNom de remplacement du nom local. Remplace le nom local de l’objet XML par le paramètre name indiqué. L’exemple suivant utilise la méthode setLocalName() pour modifier le nom local d’un élément XML : var xml:XML = <ns:item xmlns:ns="http://example.com"> toothbrush </ns:item>; xml.setLocalName("orderItem"); trace(xml.toXMLString()); // <ns:orderItem xmlns:ns="http://example.com">toothbrush</ns:orderItem> setName Règle le nom de l’objet XML sur le nom complet ou le nom d’attribut indiqué.nameStringNouveau nom de l’objet. Règle le nom de l’objet XML sur le nom complet ou le nom d’attribut indiqué. L’exemple suivant utilise la méthode setName() pour modifier le nom local d’un élément XML : var xml:XML = <item> toothbrush </item>; xml.setName("orderItem"); trace(xml.toXMLString()); // <orderItem>toothbrush</orderItem> setNamespace Définit l’espace de noms associé à l’objet XML.nsNamespaceNouvel espace de noms. Définit l’espace de noms associé à l’objet XML. L’exemple suivant utilise l’espace de noms soap défini dans un objet XML et l’applique à l’espace de noms d’un autre objet XML (xml2) : var xml1:XML = <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <!-- ... --> </soap:Envelope>; var ns:Namespace = xml1.namespace("soap"); var xml2:XML = <Envelope> <Body/> </Envelope>; xml2.setNamespace(ns); trace(xml2); setSettings Définit les valeurs des propriétés XML suivantes : ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent et prettyPrinting.restObjet doté des propriétés suivantes :
  • ignoreComments
  • ignoreProcessingInstructions
  • ignoreWhitespace
  • prettyIndent
  • prettyPrinting
Définit les valeurs des propriétés XML suivantes : ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent et prettyPrinting. Les réglages par défaut, appliqués si vous ne spécifiez pas de paramètre setObj, sont les suivants :
  • XML.ignoreComments = true
  • XML.ignoreProcessingInstructions = true
  • XML.ignoreWhitespace = true
  • XML.prettyIndent = 2
  • XML.prettyPrinting = true

Remarque : cette méthode ne doit pas être appliquée à une occurrence de la classe XML, mais à XML, comme illustré dans le code suivant : XML.setSettings().

L’exemple ci-dessous illustre les points suivants : comment appliquer des paramètres personnalisés (pour l’inclusion de commentaires et d’instructions de traitement) avant de définir un objet XML ; comment ensuite rétablir les paramètres par défaut avant de définir un autre objet XML ; et enfin comment définir de nouveau les paramètres par défaut (pour définir d’autres objets XML) : XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var customSettings:Object = XML.settings(); var xml1:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml1.toXMLString()); // <foo> // <!-- comment --> // <?instruction ?> // </foo> XML.setSettings(XML.defaultSettings()); var xml2:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml2.toXMLString());
ignoreCommentsignoreProcessingInstructionsignoreWhitespaceprettyIndentprettyPrintingdefaultSettings()settings()
settings Extrait les propriétés suivantes : ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent et prettyPrinting.Objet doté des propriétés XML suivantes :
  • ignoreComments
  • ignoreProcessingInstructions
  • ignoreWhitespace
  • prettyIndent
  • prettyPrinting
Object
Extrait les propriétés suivantes : ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent et prettyPrinting. L’exemple ci-dessous illustre les points suivants : comment appliquer des paramètres personnalisés (pour l’inclusion de commentaires et d’instructions de traitement) avant de définir un objet XML ; comment ensuite rétablir les paramètres par défaut avant de définir un autre objet XML ; et enfin comment définir de nouveau les paramètres par défaut (pour définir d’autres objets XML) : XML.ignoreComments = false; XML.ignoreProcessingInstructions = false; var customSettings:Object = XML.settings(); var xml1:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml1.toXMLString()); // <foo> // <!-- comment --> // <?instruction ?> // </foo> XML.setSettings(XML.defaultSettings()); var xml2:XML = <foo> <!-- comment --> <?instruction ?> </foo>; trace(xml2.toXMLString());
XML.ignoreCommentsXML.ignoreProcessingInstructionsXML.ignoreWhitespaceXML.prettyIndentXML.prettyPrintingXML.defaultSettings()XML.setSettings()
text Renvoie un objet XMLList contenant toutes les propriétés XML de l’objet XML qui représente les nœuds de texte XML.Liste des propriétés. XMLList Renvoie un objet XMLList contenant toutes les propriétés XML de l’objet XML qui représente les nœuds de texte XML. L’exemple suivant utilise la méthode text() pour obtenir les nœuds texte d’un objet XML : var xml:XML = <body> text1 <hr/> text2 </body>; trace(xml.text()[0]); // text1 trace(xml.text()[1]); // text2 toString Renvoie l’objet XML sous forme de chaîne.Représentation sous forme de chaîne de l’objet XML. String Renvoie l’objet XML sous forme de chaîne. Les règles de cette conversion varient selon que l’objet XML intègre un contenu simple ou complexe :
  • Si l’objet XML comporte un contenu simple, toString() renvoie le contenu de la chaîne de l’objet XML en éliminant les éléments suivants : la balise initiale, les attributs, les déclarations d’espace de noms et la balise de fin.
  • Si l’objet XML intègre un contenu complexe, toString() renvoie une chaîne codée au format XML qui représente l’objet XML entier, y compris la balise de début, les attributs, les déclarations d’espace de noms et la balise de fin.

Pour renvoyer à chaque fois l’objet XML entier, utilisez la méthode toXMLString().

L’exemple suivant indique ce que la méthode toString() renvoie lorsque l’objet XML a un contenu simple : var test:XML = <type name="Joe">example</type>; trace(test.toString()); //example L’exemple suivant indique ce que la méthode toString() renvoie lorsque l’objet XML a un contenu complexe : var test:XML = <type name="Joe"> <base name="Bob"></base> example </type>; trace(test.toString()); // <type name="Joe"> // <base name="Bob"/> // example // </type>
XML.hasSimpleContent()XML.hasComplexContent()XML.toXMLString()
toXMLString Renvoie l’objet XML sous forme de chaîne.Représentation sous forme de chaîne de l’objet XML. String Renvoie l’objet XML sous forme de chaîne. A l’encontre de la méthode toString(), la méthode toXMLString() renvoie toujours la balise de début, les attributs et la balise de fin de l’objet XML, que son contenu soit simple ou complexe (la méthode toString() supprime ces éléments si l’objet XML intègre un contenu simple). L’exemple suivant illustre la différence entre l’utilisation de la méthode toString() (qui s’applique à tous les paramètres d’une méthode trace(), par défaut) et celle de la méthode toXMLString() : var xml:XML = <p>hello</p>; trace(xml); // hello trace(xml.toXMLString()); // <p>hello</p> XML.toString()valueOf Renvoie l’objet XML.Valeur primitive d’une occurrence de XML. XML Renvoie l’objet XML. L’exemple suivant indique que la valeur renvoyée par la méthode valueOf() est identique à l’objet XML source : var xml:XML = <p>hello</p>; trace(xml.valueOf() === xml); // true ignoreComments Détermine si les commentaires XML sont ignorés lorsque les objets XML analysent les données XML source.Boolean Détermine si les commentaires XML sont ignorés lorsque les objets XML analysent les données XML source. Par défaut, les commentaires sont ignorés (true). Pour inclure les commentaires XML, réglez cette propriété sur false. La propriété ignoreComments n’est utilisée que lors de l’analyse XML et non pendant l’appel d’une méthode, telle que myXMLObject.child(~~).toXMLString(). Si les données XML source contiennent des nœuds de commentaire, ils sont conservés ou éliminés lors de l’analyse XML. Cet exemple illustre l’effet de la définition de XML.ignoreComments sur false et sur true : XML.ignoreComments = false; var xml1:XML = <foo> <!-- comment --> </foo>; trace(xml1.toXMLString()); // <foo><!-- comment --></foo> XML.ignoreComments = true; var xml2:XML = <foo> <!-- example --> </foo>; trace(xml2.toXMLString()); // <foo/> XML.child()XML.toXMLString()ignoreProcessingInstructions Détermine si les instructions de traitement XML sont ignorées lorsque les objets XML analysent les données XML source.Boolean Détermine si les instructions de traitement XML sont ignorées lorsque les objets XML analysent les données XML source. Par défaut, les instructions de traitement sont ignorées (true). Pour les inclure, réglez la propriété sur false. La propriété ignoreProcessingInstructions n’est utilisée que lors de l’analyse XML et non pendant l’appel de toute méthode telle que myXMLObject.child(~~).toXMLString(). Si les données XML source contiennent des nœuds d’instructions de traitement, ils sont conservés ou éliminés lors de l’analyse XML. Cet exemple illustre l’effet de la définition de XML.ignoreProcessingInstructions sur false et sur true : XML.ignoreProcessingInstructions = false; var xml1:XML = <foo> <?exampleInstruction ?> </foo>; trace(xml1.toXMLString()); // <foo><?exampleInstruction ?></foo> XML.ignoreProcessingInstructions = true; var xml2:XML = <foo> <?exampleInstruction ?> </foo>; trace(xml2.toXMLString()); // <foo/> XML.child()XML.toXMLString()ignoreWhitespace Détermine si les caractères d’espace blanc placés au début et à la fin des nœuds de texte sont ignorés lors de l’analyse.Boolean Détermine si les caractères d’espace blanc placés au début et à la fin des nœuds de texte sont ignorés lors de l’analyse. Les espaces blancs sont ignorés par défaut (true). Si un nœud de texte est entièrement composé d’espaces blancs et que la propriété ignoreWhitespace est définie sur true, il n’est pas créé. Pour afficher les espaces blancs dans un nœud de texte, réglez la propriété ignoreWhitespace sur false.

Lorsque vous créez un objet XML, il place en mémoire cache la valeur actuelle de la propriété ignoreWhitespace. La modification de la propriété ignoreWhitespace ne change pas le comportement des objets XML.

Cet exemple illustre l’effet de la définition de XML.ignoreWhitespace sur false et sur true : XML.ignoreWhitespace = false; var xml1:XML = <foo> </foo>; trace(xml1.children().length()); // 1 XML.ignoreWhitespace = true; var xml2:XML = <foo> </foo>; trace(xml2.children().length()); // 0
prettyIndent Détermine la taille du retrait appliqué par les méthodes toString() et toXMLString() si la propriété XML.prettyPrinting est définie sur true.int Détermine la taille du retrait appliqué par les méthodes toString() et toXMLString() si la propriété XML.prettyPrinting est définie sur true. Les retraits sont appliqués à l’aide de caractères d’espace et non de caractères de tabulation. La valeur par défaut est 2. Cet exemple illustre l’effet de la définiton de la propriété statique XML.prettyIndent : var xml:XML = <foo><bar/></foo>; XML.prettyIndent = 0; trace(xml.toXMLString()); XML.prettyIndent = 1; trace(xml.toXMLString()); XML.prettyIndent = 2; trace(xml.toXMLString()); prettyPrintingtoString()toXMLString()prettyPrinting Détermine si les méthodes toString() et toXMLString() normalisent les caractères d’espace blanc entre certaines balises.Boolean Détermine si les méthodes toString() et toXMLString() normalisent les caractères d’espace blanc entre certaines balises. La valeur par défaut est true. Cet exemple illustre l’effet de la définiton de la propriété statique XML.prettyPrinting : var xml:XML = <foo><bar/></foo>; XML.prettyPrinting = false; trace(xml.toXMLString()); XML.prettyPrinting = true; trace(xml.toXMLString()); prettyIndenttoString()toXMLString()
Array Crée un tableau.Tableau de longueur zéro ou supérieure. ArrayargsVous pouvez transmettre un seul argument entier pour un tableau d’une longueur spécifique, un seul objet pour créer un tableau contenant l’objet spécifié ou ne transmettre aucun argument pour un tableau vide. Crée un nouveau tableau. Le tableau peut être de longueur zéro ou plus, ou un tableau renseigné par un seul objet spécifié.
  • Appeler Array() sans argument renvoie un tableau vide.
  • Appeler Array() avec un seul argument entier renvoie un tableau de la longueur spécifiée, mais dont les éléments possèdent une valeur non définie.
  • Appeler Array() avec un objet spécifié renvoie un tableau avec un élément de l’objet spécifié.
Utiliser la fonction Array() équivaut à créer un tableau avec le constructeur de la classe Array, bien que la fonction Array() ne prenne en charge qu’une seule valeur de paramètre, voire aucune. Vous ne pouvez pas utiliser la fonction Array() pour renseigner le nouveau tableau avec plusieurs valeurs.

Remarque : si vous essayez d’utiliser la fonction Array() pour créer un nouveau tableau et transmettez plusieurs valeurs comme paramètres pour renseigner le tableau, vous obtenez une erreur de compilateur. La fonction Array() ne prend en charge qu’un seul paramètre. Utilisez plutôt le constructeur de classe Array pour créer et renseigner un tableau de plusieurs valeurs.

La fonction Array() n’a pas projeté le type d’un objet sur un tableau. Utilisez l’opérateur as pour effectuer une conversion de type explicite, ou attribution de type, si l’argument n’est pas une valeur primitive. Pour plus d’informations, voir la section Exemple de cette entrée. Si vous transmettez un objet en tant que paramètre à la fonction Array(), un nouveau tableau contenant l’objet en tant qu’élément est créé.

L’exemple suivant démontre le comportement de la fonction Array() lorsqu’un argument n’est pas une valeur primitive. L’une des principales situations de conversion en tableau est la conversion d’une occurrence d’objet qui stocke ses valeurs sous forme de tableau. Si Array() est appelé avec un argument de type Object ou tout autre type de données non primitif, une référence à l’objet est stocké dans un élément du nouveau tableau. En d’autres termes, si le seul argument transmis est un objet, une référence à cet objet devient le premier élément du nouveau tableau. var obj:Object = [ "a", "b", "c" ]; var newArray:Array = Array( obj ); trace(newArray == obj); // false trace(newArray[0] == obj); // true trace(newArray[0][0]) // a trace(newArray[0][1]) // b trace(newArray[0][2]) // c Pour convertir obj en tableau, utilisez l’opérateur as, qui renvoie une référence de tableau si obj est un tableau valide et null dans tous les autres cas : var obj:Object = [ "a", "b", "c" ]; var newArray:Array = obj as Array; trace(newArray == obj); // true trace(newArray[0]); // a trace(newArray[1]); // b trace(newArray[2]); // c
Classe ArrayOpérateur as
Boolean Convertit le paramètre expression en une valeur booléenne et renvoie une valeur.Résultat de la conversion au type Boolean. BooleanexpressionObjectExpression ou objet à convertir au type Boolean. Convertit le paramètre expression en une valeur booléenne et renvoie une valeur.

La valeur renvoyée varie selon le type de données et la valeur de l’argument, comme décrit dans le tableau suivant :

Valeur entréeExempleValeur renvoyée0Boolean(0)falseNaNBoolean(NaN)falseNombre (ni 0, ni NaN)Boolean(4)trueChaîne videBoolean("")falseChaîne non videBoolean("6")truenullBoolean(null)falsenon définiBoolean(undefined)falseOccurrence de classe ObjectBoolean(new Object())trueAucun argumentBoolean()false

A l’encontre des versions antérieures d’ActionScript, la fonction Boolean() renvoie les mêmes résultats que le constructeur de classe Boolean.

Number Convertit une valeur spécifique en valeur numérique.Valeur numérique convertie NumberexpressionObjectValeur à convertir en nombre. Convertit une valeur spécifique en valeur numérique. Le tableau suivant affiche le résultat de divers types d’entrées : Type/valeur d’entréeExempleValeur renvoyéenon définiNumber(undefined)NaNnullNumber(null)0trueNumber(true)1falseNumber(false)0NaNNumber(NaN)NaNChaîne videNumber("")0Chaîne qui peut être convertie en nombreNumber("5")Nombre (exemple : 5)Chaîne qui ne peut pas être convertie en nombreNumber("5a")NaN Object Dans ActionScript 3.0, chaque valeur est un objet, ce qui signifie qu’appeler Object() pour une valeur renvoie celle-ci.Valeur spécifiée par le paramètre value. ObjectvalueObjectObjet ou nombre, chaîne ou valeur booléenne à convertir. Dans ActionScript 3.0, chaque valeur est un objet, ce qui signifie qu’appeler Object() pour une valeur renvoie celle-ci. String Renvoie une chaîne représentant le paramètre spécifié.Chaîne représentant la valeur transmise pour le paramètre expression. StringexpressionObject Expression à convertir en chaîne. Renvoie une chaîne représentant le paramètre spécifié.

Le tableau suivant affiche le résultat de divers types d’entrées :

Type/valeur d’entréeValeur renvoyéenon défininon défininull"null"true"true"false"false"NaN"NaN"StringStringObjectObject.toString()NumberChaîne représentant le nombre
Vector Crée une nouvelle occurrence de Vector dont les éléments sont des occurrences du type de données spécifié.Si l’argument sourceArray contient un élément qui ne pas être converti au type de données spécifié. TypeErrorTypeErrorUne occurrence de Vector remplie avec les éléments du tableau sourceArray. sourceArrayObjectUne occurrence de Array ou de Vector dont les éléments deviennent des éléments du vecteur résultant. Si l’argument est une occurrence de Vector dont le type de données associé est identique au type de données spécifié, l’argument est renvoyé comme résultat de la fonction. Crée une nouvelle occurrence de Vector dont les éléments sont des occurrences du type de données spécifié. Lorsque vous appelez cette fonction, vous spécifiez le type de données des éléments du vecteur résultant (le type de base du vecteur) à l’aide d’un paramètre type. Cette fonction utilise la même syntaxe utilisée lors de la déclaration d’une occurrence de Vector ou de l’appel du constructeur new Vector.<T>() : var v:Vector.<String> = Vector.<String>(["Hello", "World"]);

Le vecteur résultant est renseigné avec les valeurs contenues dans les éléments de l’argument sourceArray. Si l’argument sourceArray est déjà une occurrence de Vector.<T>, où T représente le type de base, la fonction renvoie ce vecteur. Sinon, le vecteur résultant est renseigné avec les éléments du vecteur ou du tableau sourceArray.

Quoi qu’il en soit, le type de données de tous les éléments de l’argument sourceArray doit correspondre au type de base T spécifié dans l’appel de fonction.

Si la valeur length de la propriété sourceArray est de 0, la fonction renvoie un vecteur vide.

Si un vecteur est transmis en tant qu’argument sourceArray et que son type de base n’est pas T, ou si un tableau est transmis et que ses éléments ne sont pas des occurrences du type de base T, une tentative de conversion des valeurs au type de base est effectuée. Si les valeurs peuvent être automatiquement converties, le vecteur obtenu contient les valeurs converties. Si aucune conversion n’est possible, une erreur se produit.

De même, si un élément de l’argument sourceArray est une occurrence de la sous-classe du type de baseT, l’appel aboutit et l’élément est ajouté au vecteur résultant. Ceci est valable même si l’argument sourceArray est un vecteur dont le type de base est une sous-classe de T. C’est en fait le seul moyen de convertir un vecteur avec un type de base T en un vecteur avec un type de base étant une super-classe de T.

Par exemple, le code suivant génère une erreur de compilation en mode strict, ou une erreur TypeError à l’exécution, car il tente d’affecter un Vector.<Sprite> à une variable Vector.<DisplayObject> (Sprite est une sous-classe de DisplayObject) :

var v1:Vector.<Sprite> = new Vector.<Sprite>(); v1[0] = new Sprite(); var v2:Vector.<DisplayObject> = v1;

La version alternative du code suivante copie avec succès les éléments d’une occurrence de Vector.<Sprite> sur une occurrence de Vector.<DisplayObject> :

var v1:Vector.<Sprite> = new Vector.<Sprite>(); v1[0] = new Sprite(); var v2:Vector.<DisplayObject> = Vector.<DisplayObject>(v1);
Classe Vector
XMLList Convertit un objet en objet XMLList.Objet XMLList contenant des valeurs enregistrées dans l’objet converti. XMLListexpressionObjectObjet à convertir en objet XMLList. Convertit un objet en objet XMLList.

Le tableau suivant décrit les valeurs renvoyées pour divers types d’entrées.

Type de paramètreValeur renvoyéeBooleanLa valeur est d’abord convertie en chaîne, puis en objet XMLList.NullIl se produit une erreur d’exécution (exception TypeError).NumberLa valeur est d’abord convertie en chaîne, puis en objet XMLList.ObjectConverti au format XMLList sous réserve que la valeur soit de type String, Number ou Boolean. Dans tous les autres cas, il se produit une erreur d’exécution (exception TypeError).StringLa valeur est convertie en objet XMLList.UndefinedIl se produit une erreur d’exécution (exception TypeError).XMLLa valeur est convertie en objet XMLList.XMLListLa valeur entrée est renvoyée sans modification.
XML()
XML Convertit un objet en objet XML.Objet XML contenant des valeurs enregistrées dans l’objet converti. XMLexpressionObjectObjet à convertir au format XML. Convertit un objet en objet XML.

Le tableau suivant décrit les valeurs renvoyées pour divers types d’entrées.

Type de paramètreValeur renvoyéeBooleanLa valeur est d’abord convertie en chaîne, puis en objet XML.NullIl se produit une erreur d’exécution (exception TypeError).NumberLa valeur est d’abord convertie en chaîne, puis en objet XML.ObjectConverti au format XML sous réserve que la valeur soit de type String, Number ou Boolean. Dans tous les autres cas, il se produit une erreur d’exécution (exception TypeError).StringLa valeur est convertie au format XML.UndefinedIl se produit une erreur d’exécution (exception TypeError).XMLLa valeur entrée est renvoyée sans modification.XMLListNe renvoie un objet XML que si l’objet XMLList ne contient qu’une seule propriété de type XML. Dans tous les autres cas, il se produit une erreur d’exécution (exception TypeError).
XMLList()
decodeURIComponent Décode un composant URI codé pour produire une chaîne.Chaîne dans laquelle tous les caractères précédemment convertis en séquence d’échappement par la fonction encodeURIComponent retrouvent leur forme sans séquence d’échappement. StringuriStringChaîne codée à l’aide de la fonction encodeURIComponent. Décode un composant URI codé pour produire une chaîne. Renvoie une chaîne dont tous les caractères précédemment convertis en séquence d’échappement par la fonction encodeURIComponent retrouvent leur forme non codée.

Cette fonction est différente de la fonction decodeURI() en ce sens qu’elle est conçue pour être utilisée uniquement avec une partie de chaîne URI appelée composant URI. Un composant URI correspond à tout texte compris entre des caractères spéciaux nommés séparateurs de composants ( : / ; et ? ). « http » et « www.adobe.com » sont des exemples courants de composant URI.

Il existe une autre différence majeure entre cette fonction et decodeURI() : parce la fonction part du principe qu’elle manipule un composant URI, elle traite les séquences d’échappement qui représentent des caractères de séparation spéciaux ( ; / ? : @ & = + $ , #) en tant que texte ordinaire qui doit être décodé.

decodeURI()encodeURI()encodeURIComponent()
decodeURI Décode une URI codée pour produire une chaîne.Chaîne dans laquelle tous les caractères précédemment convertis en séquence d’échappement par la fonction encodeURI retrouvent leur forme sans séquence d’échappement. StringuriStringChaîne codée à l’aide de la fonction encodeURI. Décode une URI codée pour produire une chaîne. Renvoie une chaîne dans laquelle tous les caractères précédemment codés par la fonction encodeURI retrouvent leur forme non codée.

Le tableau suivant contient l’ensemble de séquences d’échappement qui ne sont pas décodées par la fonction decodeURI pour obtenir des caractères. Utilisez decodeURIComponent() pour décoder les séquences d’échappement répertoriées dans ce tableau.

Séquences d’échappement non décodéesCaractères équivalents%23#%24$%26&%2B+%2C,%2F/%3A:%3B;%3D=%3F?%40@
package { import flash.display.Sprite; public class DecodeURIExample extends Sprite { public function DecodeURIExample() { var uri:String = "http://www.example.com/application.jsp?user=<user name='some user'></user>"; var encoded:String = encodeURI(uri); var decoded:String = decodeURI(encoded); trace(uri); // http://www.example.com/application.jsp?user=<user name='some user'></user> trace(encoded); // http://www.example.com/application.jsp?user=%3Cuser%20name='some%20user'%3E%3C/user%3E trace(decoded); // http://www.example.com/application.jsp?user=<user name='some user'></user> } } }
decodeURIComponent()encodeURI()encodeURIComponent()
encodeURIComponent Convertit une chaîne en composant URI valide.StringuriString Convertit une chaîne en composant URI valide. Convertit une sous-chaîne d’URI en chaîne dont tous les caractères sont convertis en séquences d’échappement UTF-8, à moins qu’un caractère n’appartienne à un groupe très réduit de caractères de base.

La fonction encodeURIComponent() est différente de la fonction encodeURI() en ce sens qu’elle est conçue pour être utilisée uniquement avec une partie de chaîne URI appelée composant URI. Un composant URI correspond à tout texte compris entre des caractères spéciaux nommés séparateurs de composants ( : / ; et ? ). « http » et « www.adobe.com » sont des exemples courants de composant URI.

Il existe une autre différence majeure entre cette fonction et encodeURI() : dans la mesure où la fonction manipule un composant URI, elle traite les caractères de séparation spéciaux ( ; / ? : @ & = + $ , #) en tant que texte ordinaire qui doit être codé.

Le tableau suivant répertorie tous les caractères qui ne sont pas convertis en séquences d’échappement UTF-8 par la fonction encodeURIComponent.

Caractères non codés0 1 2 3 4 5 6 7 8 9a b c d e f g h i j k l m n o p q r s t u v w x y zA B C D E F G H I J K L M N O P Q R S T U V W X Y Z- _ . ! ~ ~~ ' ( )
decodeURI()decodeURIComponent()encodeURI()
encodeURI Convertit une chaîne en URI (Uniform Resource Identifier) valide.Chaîne dont certains caractères sont convertis en séquences d’échappement UTF-8. StringuriStringChaîne représentant une URI complète. Convertit une chaîne en URI (Uniform Resource Identifier) valide. Convertit une URI complète en chaîne dont tous les caractères sont codés en tant que séquences d’échappement UTF-8, à moins qu’un caractère n’appartienne à un petit groupe de caractères de base.

Le tableau suivant répertorie l’ensemble complet des caractères de base qui ne sont pas convertis en séquences d’échappement UTF-8 par la fonction encodeURI.

Caractères non codés0 1 2 3 4 5 6 7 8 9a b c d e f g h i j k l m n o p q r s t u v w x y zA B C D E F G H I J K L M N O P Q R S T U V W X Y Z; / ? : @ & = + $ , #- _ . ! ~ ~~ ' ( )
package { import flash.display.Sprite; public class EncodeURIExample extends Sprite { public function EncodeURIExample() { var uri:String = "http://www.example.com/application.jsp?user=<user name='some user'></user>"; var encoded:String = encodeURI(uri); var decoded:String = decodeURI(encoded); trace(uri); // http://www.example.com/application.jsp?user=<user name='some user'></user> trace(encoded); // http://www.example.com/application.jsp?user=%3Cuser%20name='some%20user'%3E%3C/user%3E trace(decoded); // http://www.example.com/application.jsp?user=<user name='some user'></user> } } }
decodeURI()decodeURIComponent()encodeURIComponent()
escape Convertit le paramètre en chaîne et applique le format de code URL, où la plupart des caractères qui ne sont pas de type alphanumérique sont remplacés par des séquences hexadécimales (%).Une chaîne convertie en format d’URL. StringstrStringExpression à convertir en chaîne et coder au format URL. Convertit le paramètre en chaîne et applique le format de code URL, où la plupart des caractères qui ne sont pas de type alphanumérique sont remplacés par des séquences hexadécimales %. Lorsque cette fonction est utilisée dans une chaîne codée au format URL, le symbole pour cent (%) introduit les caractères d’échappement et ne doit pas être confondu avec l’opérateur modulo (%).

Le tableau suivant répertorie tous les caractères qui ne sont pas convertis en séquences d’échappement par la fonction escape().

Caractères non codés0 1 2 3 4 5 6 7 8 9a b c d e f g h i j k l m n o p q r s t u v w x y zA B C D E F G H I J K L M N O P Q R S T U V W X Y Z@ - _. ~~ + /

Remarque : Utilisez la fonction encodeURIComponent() au lieu de la fonction escape() pour traiter les caractères séparateurs spéciaux (@ + /) comme étant du texte régulier à coder.

unescape()encodeURIComponent()
int Convertit une valeur numérique spécifiée en entier.Entier converti. intvalueNumberValeur à convertir en entier. Convertit une valeur numérique spécifiée en entier. Les valeurs décimales sont tronquées au niveau de la virgule. uint()isFinite Renvoie true si la valeur est un nombre fini, false si la valeur est Infinity ou -Infinity.Renvoie true s’il s’agit d’un nombre fini, false s’il s’agit de l’infini ou de l’infini négatif BooleannumNumberNombre à évaluer en tant que valeur finie ou infinie. Renvoie true si la valeur est un nombre fini, false si la valeur est Infinity ou -Infinity. La présence de Infinity ou -Infinity indique une erreur mathématique, telle que la division par 0. isNaN Renvoie true si la valeur est NaN (not a number : n’est pas un nombre).Renvoie true si la valeur est NaN (not a number : n’est pas un nombre), false dans tous les autres cas. BooleannumNumberValeur numérique ou expression mathématique à évaluer. Renvoie true si la valeur est NaN (not a number : n’est pas un nombre). La fonction isNaN() permet de s’assurer qu’une expression mathématique a été évaluée correctement en tant que nombre. La fonction isNaN() est principalement utilisée pour vérifier la valeur renvoyée par les fonctions parseInt() et parseFloat(). La valeur NaN est un membre spécial du type de données Number et représente une valeur qui « n’est pas un nombre ».

Remarque : La valeur NaN ne fait pas partie des types de données int ou uint.

Le tableau ci-dessous décrit la valeur renvoyée par isNaN() pour divers types et valeurs d’entrées (si les avertissements de votre compilateur sont réglés sur le mode strict, certaines des opérations suivantes pourront générer des erreurs de compilation).

Type/valeur d’entréeExempleValeur renvoyée0 divisé par 0isNaN(0/0)trueNombre autre que zéro divisé par 0isNaN(5/0)falseRacine carrée d’un nombre négatifisNaN(Math.sqrt(-1))trueArc sinus d’un nombre supérieur à 1 ou inférieur à 0isNaN(Math.asin(2))trueChaîne qui peut être convertie en nombreisNaN("5")falseChaîne qui ne peut pas être convertie en nombreisNaN("5a")true
isXMLName Détermine si la chaîne spécifiée est un nom valide d’attribut ou d’élément XML.Renvoie true si l’argument str est un nom XML valide, false dans le cas contraire. BooleanstrStringChaîne à évaluer. Détermine si la chaîne spécifiée est un nom valide d’attribut ou d’élément XML. parseFloat Convertit une chaîne en nombre à virgule flottante.Nombre ou NaN (n’est pas un nombre). NumberstrStringChaîne à lire et convertir en nombre à virgule flottante. Convertit une chaîne en nombre à virgule flottante. Cette fonction lit, ou analyse, et renvoie les nombres dans une chaîne jusqu’à ce que cette dernière atteigne un caractère qui ne fait pas partie du nombre initial. Si la chaîne ne commence pas par un nombre qui peut être analysé, parseFloat() renvoie NaN. L’espace blanc qui précède un entier valide est ignoré, comme les caractères de fin non numériques. parseInt Convertit une chaîne en entier.Nombre ou NaN (n’est pas un nombre). NumberstrStringChaîne à convertir en entier. radixuint0Entier représentant la base du nombre à analyser. Les valeurs valides sont comprises entre 2 et 36. Convertit une chaîne en entier. Si la chaîne spécifiée par les paramètres ne peut pas être convertie en nombre, la fonction renvoie NaN. Les chaînes commençant par 0x sont interprétées en tant que nombres hexadécimaux. A l’encontre des versions antérieures d’ActionScript, les entiers débutant par 0 ne sont not interprétés comme des nombres octaux. Vous devez spécifier la base 8 pour les nombres octaux. L’espace blanc et les zéros qui précèdent un entier valide sont ignorés, tout comme les caractères de fin non numériques. trace Affiche des expressions ou effectue une consignation dans les fichiers journaux pendant le débogage.argumentsUne ou plusieurs expressions (séparées par une virgule) à évaluer. S’il existe plusieurs expressions, un espace est inséré entre chacune d’elles dans la sortie. Affiche des expressions ou effectue une consignation dans les fichiers journaux pendant le débogage. Une instruction trace unique peut prendre en charge plusieurs arguments. Si un argument d’instruction trace comprend un type de données autre que String, la fonction trace appelle la méthode toString() associée correspondante. Si par exemple l’argument est une valeur booléenne, la fonction trace appelle Boolean.toString() et affiche la valeur renvoyée. L’exemple suivant utilise la classe TraceExample pour indiquer comment la méthode trace() peut être utilisée pour imprimer une chaîne simple. De manière générale, le message est imprimé sur une console de « débogage ». package { import flash.display.Sprite; public class TraceExample extends Sprite { public function TraceExample() { trace("Hello World"); } } } uint Convertit une valeur numérique spécifiée en entier non signé.Entier converti. uintvalueNumberValeur à convertir en entier. Convertit une valeur numérique spécifiée en entier non signé. Les valeurs décimales sont tronquées au niveau de la virgule.

Le tableau ci-dessous décrit la valeur renvoyée par uint() pour divers types et valeurs d’entrées.

Type/valeur d’entréeExempleValeur renvoyéenon définiuint(undefined)0nulluint(null)00uint(0)0NaNuint(NaN)0Nombre positif à virgule flottanteuint(5,31)Entier tronqué non signé (5, par exemple)Nombre négatif à virgule flottanteuint(-5,78)Tronque le nombre décimal au niveau de la virgule pour obtenir un entier, puis lui applique une règle relative aux entiers négatifsEntier négatifuint(-5)Somme de uint.MAX_VALUE et de l’entier négatif (uint.MAX_VALUE + (-5), par exemple)trueuint(true)1falseuint(false)0Chaîne videuint("")0Chaîne qui peut être convertie en nombreuint("5")Le nombreChaîne qui ne peut pas être convertie en nombreuint("5a")0
int()
unescape Evalue le paramètre str en tant que chaîne, décode la chaîne qui est au format codé en URL (en convertissant toutes les séquences hexadécimales en caractères ASCII) et renvoie cette chaîne.Chaîne décodée à partir d’un paramètre codé au format URL. StringstrStringChaîne comportant des séquences hexadécimales à convertir en séquences d’échappement. Evalue le paramètre str en tant que chaîne, décode la chaîne qui est au format codé en URL (en convertissant toutes les séquences hexadécimales en caractères ASCII) et renvoie cette chaîne. -Infinity Valeur spéciale représentant une valeur Infinity négative.Number Valeur spéciale représentant une valeur Infinity négative. La valeur de cette constante est identique à Number.NEGATIVE_INFINITY. La division par 0 renvoie -Infinity, mais seul le diviseur est un nombre négatif. trace(0 / 0); // NaN trace(7 / 0); // Infinity trace(-7 / 0); // -Infinity Number.NEGATIVE_INFINITYInfinity Valeur spéciale représentant une valeur Infinity positive.Number Valeur spéciale représentant une valeur Infinity positive. La valeur de cette constante est identique à Number.POSITIVE_INFINITY. La division par 0 renvoie Infinity, mais seul le diviseur est un nombre positif. trace(0 / 0); // NaN trace(7 / 0); // Infinity trace(-7 / 0); // -Infinity Number.POSITIVE_INFINITYNaN Membre spécial du type de données Number qui représente une valeur qui « n’est pas un nombre » (NaN).Number Membre spécial du type de données Number qui représente une valeur qui « n’est pas un nombre » (NaN). Lorsqu’une expression mathématique produit une valeur qui ne peut pas être exprimée sous forme de nombre, le résultat correspond à NaN. La liste suivante décrit des expressions courantes qui produisent NaN.
  • La division par 0 ne renvoie NaN que si le diviseur est également 0. Si le diviseur est supérieur à 0, la division par 0 produit Infinity. Si le diviseur est inférieur à 0, la division par 0 produit -Infinity.
  • Racine carrée d’un nombre négatif.
  • Arc sinus d’un nombre non compris entre 0 et 1 (la plage valide).
  • Infinity soustrait de Infinity.
  • Infinity ou -Infinity divisé par Infinity or -Infinity.
  • Infinity ou -Infinity multiplié par 0.

La valeur NaN ne fait pas partie des types de données int ou uint.

La valeur NaN n’étant pas considérée comme égale à toute autre valeur, NaN inclus, l’utilisation de l’opérateur d’égalité pour vérifier si une expression correspond à NaN est impossible. Pour déterminer si un nombre correspond à la fonction NaN, utilisez isNaN().

isNaN()Number.NaN
undefined Valeur spéciale appliquée aux variables sans type qui n’ont pas été initialisées ou aux propriétés d’objets dynamiques qui ne sont pas initialisées. Valeur spéciale appliquée aux variables sans type qui n’ont pas été initialisées ou aux propriétés d’objets dynamiques qui ne sont pas initialisées. Dans ActionScript 3.0, seules les variables qui n’ont pas de type peuvent recevoir la valeur undefined, contrairement à ActionScript 1.0 et ActionScript 2.0. Par exemple, les deux variables sont undefined dans la mesure où elles ne sont pas typées et pas initialisées :
  • var foo;
  • var bar:~~;

La valeur undefined s’applique également aux propriétés non initialisées ou non définies d’objets dynamiques. Par exemple, si un objet est une occurrence de la classe Object, la valeur de toute propriété ajoutée dynamiquement est définie sur undefined jusqu’à ce qu’une valeur lui soit affectée.

Les résultats varient lorsque undefined est utilisé avec diverses fonctions :

  • String(undefined) renvoie la valeur "undefined" (undefined est converti en chaîne).
  • Number(undefined) renvoie la valeur NaN.
  • int(undefined) et uint(undefined) renvoient la valeur 0.
  • Object(undefined) renvoie une nouvelle occurrence d’Object.
  • Si vous affectez la valeur undefined à une variable associée à un type, elle est convertie en la valeur par défaut du type de données.

Veillez à ne pas confondre undefined et null. Lorsque les propriétés null et undefined sont comparées avec l’opérateur d’égalité (==), elles sont considérées comme égales. Lorsque les propriétés null et undefined sont comparées avec l’opérateur d’égalité stricte (===), elles sont considérées comme différentes.

Dans l’exemple suivant, une variable non typée, myVar est déclarée mais pas initialisée. La valeur de myVar est undefined dans la mesure où la variable n’est pas typée. Ceci est vrai lorsque la variable ne comporte pas d’annotation de type ou utilise l’annotation non typée spéciale (~~) (var myVar:~~;). // trace value of untyped and uninitialized variable var myVar; trace(myVar); // undefined La même règle s’applique aux propriétés non initialisées d’un objet dynamique. Par exemple, avec une occurrence donnée, obj, de la classe dynamique A, la valeur de obj.propName, qui est une propriété non initialisée de l’occurrence obj, est undefined. dynamic class A {} var obj:A = new A() // trace undefined property of obj trace(obj.propName); // undefined
null
uint La classe uint propose des méthodes d’utilisation d’un type de données représentant un entier 32 bits non signé.Object La classe uint propose des méthodes d’utilisation d’un type de données représentant un entier 32 bits non signé. Un entier non signé étant nécessairement positif, sa valeur maximale est le double de celle de la classe int.

La plage de valeurs représentée par la classe uint est comprise entre 0 et 4 294 967 295 (2^32-1).

Pour créer un objet uint, déclarez une variable de type uint et affectez-lui une valeur littérale. La valeur par défaut d’une variable de type uint correspond à 0.

La classe uint est surtout utilisée pour les valeurs de couleur de pixel (ARVB et RVBA), ainsi que les cas où le type de données int ne fonctionne pas correctement. Par exemple, le nombre 0xFFFFFFFF, qui représente la valeur de la couleur blanche avec une valeur alpha 255, ne peut pas être représenté à l’aide du type de données int, car elle excède la plage de valeurs int valides.

L’exemple suivant crée un objet uint et appelle la méthode toString() :

 var myuint:uint = 1234;
 trace(myuint.toString()); // 1234
 

L’exemple suivant affecte la valeur de la propriété MIN_VALUE à une variable sans l’utilisation du constructeur :

 var smallest:uint = uint.MIN_VALUE;
 trace(smallest.toString()); // 0
 
L’exemple suivant déclare un paramètre uint i au sein d’une boucle for, qui imprime les nombres 0 à 9 (dans la mesure où uint applique par défaut la valeur 0). package { import flash.display.Sprite; public class UintExample extends Sprite { public function UintExample() { for(var i:uint; i < 10; i++) { trace(i); } } } }
intNumberuint Crée un objet uint.numObjectValeur numérique de l’objet uint en cours de création, ou valeur à convertir en nombre. Si num n’est pas fourni, la valeur par défaut est 0. Crée un objet uint. Vous pouvez créer une variable de type uint et lui affecter une valeur littérale. Le constructeur new uint() sert surtout d’espace réservé. Ne confondez pas l’objet uint avec la fonction uint(), qui convertit un paramètre en valeur primitive. Le code suivant construit deux nouveaux objets uint. Pour créer le premier, il affecte une valeur littérale, tandis que pour créer le second, il utilise la fonction constructeur :
	 var n1:uint = 3;
	 var n2:uint = new uint(10);
	 
toExponential Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle.Renvoie une exception si l’argument fractionDigits n’est pas compris entre 0 et 20. RangeErrorRangeErrorStringfractionDigitsuintEntier compris entre 0 et 20 inclus qui représente le nombre requis de décimales. Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle. La chaîne contient un chiffre avant la virgule et jusqu’à 20 décimales, comme spécifié par le paramètre fractionDigits. L’exemple suivant indique comment toExponential(2) renvoie une chaîne sous forme de notation exponentielle. var num:Number = 315003; trace(num.toExponential(2)); // 3.15e+5 toFixed Renvoie une représentation sous forme de chaîne du nombre en notation à virgule fixe.Renvoie une exception si l’argument fractionDigits n’est pas compris entre 0 et 20. RangeErrorRangeErrorStringfractionDigitsuintEntier compris entre 0 et 20 inclus qui représente le nombre requis de décimales. Renvoie une représentation sous forme de chaîne du nombre en notation à virgule fixe. La notation à virgule fixe signifie que la chaîne contiendra un nombre spécifique de décimales, indiqué par le paramètre fractionDigits. Le paramètre fractionDigits gère une plage de valeurs comprises entre 0 et 20. Spécifier une valeur qui excède cette plage entraîne le renvoi d’une exception. L’exemple suivant indique comment toFixed(3) renvoie une chaîne qui arrondit le résultat à trois chiffres après la virgule. var num:Number = 7.31343; trace(num.toFixed(3)); // 7.313 L’exemple suivant indique comment toFixed(2) renvoie une chaîne qui ajoute des zéros à la fin. var num:Number = 4; trace(num.toFixed(2)); // 4.00 toPrecision Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle ou à virgule fixe.Renvoie une exception si l’argument precision n’est pas compris entre 1 et 21. RangeErrorRangeErrorStringprecisionuintEntier compris entre 1 et 21 inclus qui indique le nombre requis de décimales dans la chaîne générée. Renvoie une représentation sous forme de chaîne du nombre en notation exponentielle ou à virgule fixe. La chaîne contiendra le nombre de décimales spécifié par le paramètre precision. L’exemple suivant indique comment toPrecision(3) renvoie une chaîne limitée à trois chiffres. La chaîne recourt à la notation à point fixe, dans la mesure où la notation exponentielle n’est pas requise. var num:Number = 31.570; trace(num.toPrecision(3)); // 31.6 L’exemple suivant indique comment toPrecision(3) renvoie une chaîne limitée à trois chiffres. La chaîne applique la notation exponentielle dans la mesure où le nombre qui en résulte ne contient pas suffisamment de chiffres pour la notation à point fixe. var num:Number = 4000; trace(num.toPrecision(3)); // 4.00e+3 toString Renvoie la représentation sous forme de chaîne d’un objet uint.Représentation sous forme de chaîne de l’objet uint. StringradixuintSpécifie la base numérique (de 2 à 36) à appliquer pour la conversion nombre vers chaîne. Si vous omettez le paramètre radix, la valeur par défaut est de 10. Renvoie la représentation sous forme de chaîne d’un objet uint. L’exemple suivant utilise 2 et 8 pour les paramètres radix et renvoie une valeur de chaîne avec la représentation correspondante du numéro 9 :
	 var myuint:uint = 9;
	 trace(myuint.toString(2)); // 1001
	 trace(myuint.toString(8)); // 11
	 
L’exemple suivant crée des valeurs hexadécimales :
	 var r:uint = 250;
	 var g:uint = 128;
	 var b:uint = 114;
	 var rgb:String = "0x" + r.toString(16) + g.toString(16) + b.toString(16);
	 trace(rgb); // 0xfa8072 
	 
valueOf Renvoie la valeur du type uint de primitive de l’objet uint spécifié.Valeur du type uint de primitive de l’objet uint. uint Renvoie la valeur du type uint de primitive de l’objet uint spécifié. L’exemple suivant renvoie la valeur primitive de l’objet numSocks.
	 var numSocks:uint = 2;
	 trace(numSocks.valueOf()); // 2
	 
MAX_VALUE Entier non signé 32 bits représentable le plus élevé, soit 4 294 967 295.4294967295uint Entier non signé 32 bits représentable le plus élevé, soit 4 294 967 295. Le code ActionScript suivant affiche les valeurs uint représentables les plus élevées et les plus faibles :
	trace("uint.MIN_VALUE = " + uint.MIN_VALUE);
	trace("uint.MAX_VALUE = " + uint.MAX_VALUE);
	

Les valeurs sont les suivantes :

	uint.MIN_VALUE = 0
	uint.MAX_VALUE = 4294967295
	
MIN_VALUE Entier non signé représentable le plus faible, soit 0.0uint Entier non signé représentable le plus faible, soit 0. Le code ActionScript suivant affiche les valeurs uint représentables les plus élevées et les plus faibles :
	 trace("uint.MIN_VALUE = " + uint.MIN_VALUE);
	 trace("uint.MAX_VALUE = " + uint.MAX_VALUE);
	 

Les valeurs sont les suivantes :

	 uint.MIN_VALUE = 0
	 uint.MAX_VALUE = 4294967295
	 
Vector La classe Vector vous permet d’accéder à un vecteur et de le manipuler &#8212; ; un vecteur est un tableau dont les éléments possèdent tous le même type de données.Vous permet de définir des vecteurs (de type Arrays). Object La classe Vector vous permet d’accéder à un vecteur et de le manipuler ; un vecteur est un tableau dont les éléments possèdent tous le même type de données. Le type de données des éléments d’un vecteur est appelé le type de base du vecteur. Le type de base peut correspondre à n’importe quelle classe, notamment aux classes intégrées et aux classes personnalisées. Le type de base est spécifié lorsque vous déclarez la variable d’un vecteur et lorsque vous créez une occurrence en appelant le constructeur de classe.

Tout comme pour un tableau, vous pouvez utiliser l’opérateur d’accès au tableau ([]) pour définir ou récupérer la valeur d’un élément Vector. Plusieurs méthodes d’un objet Vector fournissent également des mécanismes permettant de définir et de récupérer les valeurs des éléments. Parmi ces méthodes figurent, notamment : push(), pop(), shift(), unshift(). Les propriétés et les méthodes d’un object Vector sont similaires, voire dans certains cas identiques, aux propriétés et aux méthodes d’un objet Array. Dans la plupart des cas où vous utilisez un objet Array dont tous les éléments possèdent le même type de données, il est préférable d’utiliser une occurrence de l’objet Vector. Toutefois, les occurrences de l’objet Vector sont des tableaux denses. En d’autres termes, ils doivent posséder une valeur (ou être définis sur une valeur null) dans chaque index. Les occurrences d’Array n’ont pas cette même restriction.

Le type de base du vecteur est spécifié à l’aide d’une syntaxe de paramètres de type postfix. La syntaxe de paramètres de type est une séquence constituée d’un point (.), d’un chevron gauche (<), du nom de la classe, puis d’un chevron droit (>), comme l’indique l’exemple suivant :

Dans la première ligne de cet exemple, la variable v est déclarée comme l’occurrence d’un objet Vector.<String>. En d’autres termes, elle représente un vecteur (un tableau) ne pouvant contenir que des occurrences de String et duquel seules des occurrences de String peuvent être récupérées. La deuxième ligne construit une occurrence du même type de vecteur (c’est-à-dire d’un vecteur dont les éléments sont tous des objets String) et l’affecte à v.

var v:Vector.<String>; v = new Vector.<String>();

Une variable déclarée avec le type de données Vector.<T> peut stocker uniquement une occurrence de Vector construite avec le même type de base T. Par exemple, il est impossible d’affecter un vecteur construit en appelant new Vector.<String>() à une variable déclarée avec le type de données Vector.<int>. Les types de base doivent correspondre exactement. Par exemple, le code suivant ne se compile pas, car le type de base de l’objet n’est pas le même que le type de base déclaré de la variable (même si Sprite est une sous-classe de DisplayObject) :

// This code doesn't compile even though Sprite is a DisplayObject subclass var v:Vector.<DisplayObject> = new Vector.<Sprite>();

Pour convertir un objet Vector avec un type de base T en un objet Vector d’une super-classe de T, utilisez la fonction globale Vector().

Outre la restriction concernant le type de données, la classe Vector possède d’autres restrictions qui la distinguent de la classe Array :

  • Un vecteur est un tableau dense. Contrairement à un tableau, qui peut posséder des valeurs dans les index 0 et 7 même s’il n’existe aucune valeur dans les positions 1 à 6, un vecteur doit posséder une valeur (ou la valeur null) dans chaque index.
  • La longueur d’un vecteur peut éventuellement être fixe ; en d’autres termes, le nombre d’éléments qu’il contient est invariable.
  • L’accès aux éléments d’un vecteur est défini par ses limites. Vous ne pouvez jamais lire une valeur d’un index supérieur à celui de l’élément final (longueur - 1). Vous ne pouvez jamais définir une valeur avec un index supérieur à l’index final actuel (en d’autres termes, vous pouvez définir une valeur uniquement à l’index existant où à une [longueur] d’index).

Grâce à ses restrictions, un vecteur présente trois avantages principaux par rapport à une occurrence d’Array dont les éléments sont tous des occurrences d’une seule classe :

  • Performances : l’accès à l’élément de tableau et son itération sont beaucoup plus rapides lorsque vous utilisez une occurrence de Vector que lorsque vous utilisez une occurrence d’Array.
  • Sécurité des types : en mode strict, le compilateur peut identifier les erreurs de type de données. Parmi ces erreurs, citons l’affectation d’un type de valeur incorrect à un vecteur ou l’attente d’un type de données incompatible lors de la lecture d’une valeur à partir du vecteur. Notez cependant que lorsque vous utilisez la méthode push() ou unshift() pour ajouter des valeurs à un vecteur, les types de données des arguments ne sont pas vérifiés au moment de la compilation. Ils sont vérifiés au moment de l’exécution.
  • Fiabilité : la vérification de plage du moteur d’exécution (ou la vérification des vecteurs de longueur fixe) augmente de façon significative la fiabilité sur les tableaux.
[], accès au tableauVector(), fonction globaleClasse ArrayVector Crée un vecteur avec le type de base spécifié.lengthuint0Longueur initiale (nombre d’éléments) du vecteur. Si ce paramètre est supérieur à zéro, les éléments de vecteur spécifiés sont créés et renseignés avec la valeur par défaut correspondant au type de base (null pour les types de référence). fixedBooleanfalseIndique si la longueur du vecteur est fixe (true) ou si elle peut être modifiée (false). Il est également possible de définir cette valeur à l’aide de la propriété fixed. Crée un vecteur avec le type de base spécifié.

Lorsque vous appelez le constructeur Vector<T>(), spécifiez le type de base à l’aide de la syntaxe de paramètres de type. La syntaxe de paramètres de type est une séquence constituée d’un point (.), d’un chevron gauche (<), du nom de la classe, puis d’un chevron droit (>), comme l’indique l’exemple suivant :

var v:Vector.<String> = new Vector.<String>();

Pour créer une occurrence de Vector à partir d’un tableau ou d’un autre vecteur (notamment avec un type de base différent), utilisez la fonction globale Vector().

Pour créer une occurrence de Vector préremplie, utilisez la syntaxe suivante au lieu d’utiliser les paramètres spécifiés ci-dessous :

// var v:Vector.<T> = new <T>[E0, ..., En-1 ,]; // For example: var v:Vector.<int> = new <int>[0,1,2,];

Les informations ci-dessous s’appliquent à la syntaxe suivante :

  • Elle est prise en charge dans Flash Professional CS5 et versions ultérieures, Flash Builder 4 et versions ultérieures, et Flex 4 et versions ultérieures.
  • La virgule à droite est facultative.
  • Les éléments vides dans le tableau ne sont pas pris en charge ; une instruction telle que var v:Vector.<int> = new <int>[0,,2,] renvoie une erreur de compilateur.
  • Vous ne pouvez pas spécifier de longueur par défaut pour l’occurrence de Vector. Au lieu de cela, la longueur est identique au nombre d’éléments dans la liste d’initialisation.
  • Vous ne pouvez pas indiquer si l’occurrence de Vector a une longueur fixe. Utilisez plutôt la propriété fixed.
  • Une perte de données ou des erreurs peuvent se produire si les éléments transmis en tant que valeurs ne correspondent pas au type spécifié. Par exemple :
  • var v:Vector.<int> = new <int>[4.2]; // compiler error when running in strict mode trace(v[0]); //returns 4 when not running in strict mode

fixedVector(), fonction globale
concat Concatène les éléments spécifiés dans les paramètres avec ceux contenus dans le vecteur et crée un nouveau vecteur.Si un argument n’est pas une occurrence du type de base et ne peut pas être converti au type de base. TypeErrorTypeErrorUn vecteur avec le même type de base que ce vecteur qui contient les éléments correspondants, suivis des éléments des paramètres. argsUne ou plusieurs valeurs du type de base de ce vecteur à concaténer dans un nouveau vecteur. Concatène les éléments spécifiés par les paramètres. Concatène les éléments spécifiés dans les paramètres avec ceux contenus dans le vecteur et crée un nouveau vecteur. Si les paramètres spécifient un vecteur, les éléments correspondants sont concaténés. Si vous ne transmettez aucun paramètre, le nouveau vecteur est une duplication (clone simple) du vecteur d’origine. every Exécute une fonction de test sur chaque élément du vecteur jusqu’à ce que l’un d’eux renvoie false pour la fonction spécifiée.Une valeur boléenne true si la fonction spécifiée renvoie true lorsqu’elle est appelée sur tous les éléments dans le vecteur, false dans tous les autres cas. BooleancallbackFunctionFonction à exécuter sur chaque élément du vecteur. Cette fonction est invoquée avec trois arguments : l’élément actuel du vecteur, l’index de l’élément et l’objet Vector :
function callback(item:T, index:int, vector:Vector.<T>):Boolean {
       // your code here
    }
    

La fonction de rappel doit renvoyer une valeur booléenne.

thisObjectObjectnullObjet auquel se réfère l’identifiant this dans le rappel lorsque la fonction est appelée.
Exécute une fonction de test sur chaque élément du vecteur jusqu’à ce que l’un d’eux renvoie false pour la fonction spécifiée. Cette méthode vous permet de déterminer si tous les éléments d’un vecteur répondent à un critère défini, tel que des valeurs inférieures à un nombre spécifique.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. C’est ainsi que cette méthode est le plus souvent utilisée.

Néanmoins, supposons que vous créiez une fonction sur une image du scénario principal à l’aide de Flash Professional et que vous souhaitiez qu’elle soit appelée dans un contexte this différent :

    function myFunction(item:T, index:int, vector:Vector.<T>):Boolean {
       // your code here
    }
    

Supposons que vous utilisiez ensuite la méthode every() sur un vecteur appelé myVector :

    myVector.every(myFunction, someObject);
    

Etant donné que myFunction appartient à la classe principale du fichier SWF, elle ne peut pas être exécutée dans un contexte this différent. Les moteurs d’exécution de Flash renvoient un exception lors de l’exécution de ce code. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

    var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):Boolean {
        //your code here
    };
    myVector.every(myFunction, someObject);
    
Vector.some()
filter Exécute une fonction de test sur chaque élément du vecteur et construit un nouveau vecteur contenant tous les éléments qui renvoient true pour la fonction spécifiée.Un nouveau vecteur qui contient tous les éléments du vecteur d’origine pour lequel la fonction callback a renvoyé true. callbackFunctionFonction à exécuter sur chaque élément du vecteur. Cette fonction est invoquée avec trois arguments : l’élément actuel du vecteur, l’index de l’élément et l’objet Vector :
function callback(item:T, index:int, vector:Vector.<T>):Boolean;
thisObjectObjectnullObjet auquel se réfère l’identifiant this dans le rappel lorsque la fonction est appelée.
Exécute une fonction de test sur chaque élément du vecteur et construit un nouveau vecteur contenant tous les éléments qui renvoient true pour la fonction spécifiée. Si un élément renvoie false, il ne figure pas dans le vecteur résultant. Le type de base du vecteur renvoyé correspond à celui du vecteur pour lequel la méthode est appelée.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. C’est ainsi que cette méthode est le plus souvent utilisée.

Néanmoins, supposons que vous créiez une fonction sur une image du scénario principal à l’aide de Flash Professional et que vous souhaitiez qu’elle soit appelée dans un contexte this différent :

     function myFunction(item:T, index:int, vector:Vector.<T>):Boolean {
        // your code here
     }
     

Supposons que vous utilisiez ensuite la méthode filter() sur un vecteur appelé myVector :

     var result:Vector.<T> = myVector.filter(myFunction, someObject);
     

Etant donné que myFunction appartient à la classe principale du fichier SWF, elle ne peut pas être exécutée dans un contexte this différent. Les moteurs d’exécution de Flash renvoient un exception lors de l’exécution de ce code. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

     var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):Boolean {
         //your code here
     };
     myVector.filter(myFunction, someObject);
     
Vector.map()
forEach Exécute une fonction sur chaque élément du vecteur.callbackFunctionFonction à exécuter sur chaque élément du vecteur. Cette fonction est invoquée avec trois arguments : l’élément actuel du vecteur, l’index de l’élément et l’objet Vector :
function callback(item:T, index:int, vector:Vector.<T>):void;

Toute valeur renvoyée depuis l’appel de fonction est supprimée.

thisObjectObjectnullObjet auquel se réfère l’identifiant this dans le rappel lorsque la fonction est appelée.
Exécute une fonction sur chaque élément du vecteur.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. C’est ainsi que cette méthode est le plus souvent utilisée.

Néanmoins, supposons que vous créiez une fonction sur une image du scénario principal à l’aide de Flash Professional et que vous souhaitiez qu’elle soit appelée dans un contexte this différent :

     function myFunction(item:T, index:int, vector:Vector.<T>):void {
        // your code here
     }
     

Supposons que vous utilisiez ensuite la méthode forEach() sur un vecteur appelé myVector :

     myVector.forEach(myFunction, someObject);
     

Etant donné que myFunction appartient à la classe principale du fichier SWF, elle ne peut pas être exécutée dans un contexte this différent. Les moteurs d’exécution de Flash renvoient un exception lors de l’exécution de ce code. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

     var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):void {
         //your code here
     };
     myVector.forEach(myFunction, someObject);
     
indexOf Recherche un élément dans le vecteur et renvoie la position d’index de l’élément.Une position d’index commençant à zéro de l’élément du vecteur. Si l’argument searchElement n’est pas détecté, la valeur renvoyée est -1. intsearchElementElément à rechercher dans le vecteur. fromIndexint0Emplacement dans le vecteur à partir duquel débuter la recherche d’élément. Si ce paramètre est négatif, il est considéré comme length + fromIndex. Cela signifie que la recherche commence à partir des éléments -fromIndex jusqu’à la fin, puis continue à partir de cette position jusqu’à la fin du vecteur. Recherche un élément dans le vecteur et renvoie la position d’index de l’élément. L’élément est comparé aux éléments du vecteur à l’aide de l’égalité stricte (===). Vector.lastIndexOf()=== (égalité stricte)join Convertit les éléments d’un vecteur en chaînes, insère le séparateur spécifié entre les éléments, les concatène, puis renvoie la chaîne obtenue.Chaîne composée des éléments d’un vecteur convertis en chaînes et séparés par la chaîne spécifiée. StringsepString,Caractère ou chaîne séparant les éléments du vecteur dans la chaîne renvoyée. Si vous omettez ce paramètre, une virgule est utilisée en tant que séparateur par défaut. Convertit les éléments d’un vecteur en chaînes. Convertit les éléments d’un vecteur en chaînes, insère le séparateur spécifié entre les éléments, les concatène, puis renvoie la chaîne obtenue. Un vecteur imbriqué est toujours séparé par une virgule (,) et non pas par le séparateur transmis à la méthode join(). String.split()lastIndexOf Recherche un élément dans le vecteur, en travaillant à rebours à partir de la position d’index spécifiée, puis renvoie la position d’index de l’élément correspondant.Une position d’index commençant à zéro de l’élément du vecteur. Si l’argument searchElement n’est pas détecté, la valeur renvoyée est -1. intsearchElementElément à rechercher dans le vecteur. fromIndexint0x7fffffffEmplacement dans le vecteur à partir duquel débuter la recherche d’élément. La valeur par défaut correspond à la valeur d’index maximale autorisée, ce qui signifie que la recherche commence à partir du dernier élément du vecteur.

Si ce paramètre est négatif, il est considéré comme length + fromIndex. Cela signifie que la recherche commence à partir des éléments -fromIndex jusqu’à la fin, puis continue à partir de cette position jusqu’à l’index 0.

Recherche un élément dans le vecteur, en travaillant à rebours à partir de la position d’index spécifiée, puis renvoie la position d’index de l’élément correspondant. L’élément est comparé aux éléments du vecteur à l’aide de l’égalité stricte (===).
Vector.indexOf()=== (égalité stricte)
map Exécute une fonction sur chaque élément du vecteur, puis renvoie un nouveau vecteur avec les éléments correspondants aux résultats de l’appel de fonction sur chaque élément de ce vecteur.Un nouveau vecteur qui contient les résultats de l’appel de la fonction sur chaque élément de ce vecteur. Le vecteur résultant possède le même type de base et la même propriété length que le vecteur d’origine. callbackFunctionFonction à exécuter sur chaque élément du vecteur. Cette fonction est invoquée avec trois arguments : l’élément actuel du vecteur, l’index de l’élément et l’objet Vector :
function callback(item:T, index:int, vector:Vector.<T>):T;
thisObjectObjectnullObjet auquel se réfère l’identifiant this dans le rappel lorsque la fonction est appelée.
Exécute une fonction sur chaque élément du vecteur, puis renvoie un nouveau vecteur avec les éléments correspondants aux résultats de l’appel de fonction sur chaque élément de ce vecteur. Le vecteur résultant possède le même type de base et la même propriété length que le vecteur d’origine. L’élément qui occupe la position d’index i dans le vecteur obtenu est le résultat de l’appel de l’élément qui occupe la position d’index i dans le vecteur d’origine.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. C’est ainsi que cette méthode est le plus souvent utilisée.

Néanmoins, supposons que vous créiez une fonction sur une image du scénario principal à l’aide de Flash Professional et que vous souhaitiez qu’elle soit appelée dans un contexte this différent :

     function myFunction(item:Object, index:int, vector:Vector.<T>):T {
        // your code here
     }
     

Supposons que vous utilisiez ensuite la méthode map() sur un vecteur appelé myVector :

     myVector.map(myFunction, someObject);
     

Etant donné que myFunction appartient à la classe principale du fichier SWF, elle ne peut pas être exécutée dans un contexte this différent. Les moteurs d’exécution de Flash renvoient un exception lors de l’exécution de ce code. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

     var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):void {
         //your code here
     };
     myVector.map(myFunction, someObject);
     
Vector.filter()
pop Supprime le dernier élément du vecteur et renvoie cet élément.Si cette méthode est appelée alors que fixed est true. RangeErrorRangeErrorValeur du dernier élément dans le vecteur spécifié. Supprime le dernier élément du vecteur et renvoie cet élément. La propriété length du vecteur est diminuée d’une unité lorsque cette fonction est appelée. Vector.push()Vector.shift()Vector.unshift()push Ajoute un ou plusieurs éléments à la fin d’un vecteur et renvoie la nouvelle longueur du vecteur.Si un argument n’est pas une occurrence du type de base T du vecteur. TypeErrorTypeErrorSi cette méthode est appelée alors que fixed est true. RangeErrorRangeErrorLa longueur du vecteur une fois les éléments ajoutés. uintargsUne ou plusieurs valeurs à ajouter au vecteur. Ajoute un ou plusieurs éléments à la fin d’un vecteur et renvoie la nouvelle longueur du vecteur.

Etant donné que cette fonction peut accepter plusieurs arguments, le type de données des arguments n’est pas vérifié au moment de la compilation, même en mode strict. En revanche, si un argument n’étant pas une occurrence du type de base est transmis, une exception se produit au moment de l’exécution.

Vector.pop()Vector.shift()Vector.unshift()
reverse Inverse l’ordre les éléments dans le vecteur.Le vecteur avec les éléments dans l’ordre inverse. Inverse l’ordre les éléments dans le vecteur. Cette méthode modifie le vecteur pour lequel elle est appelée. shift Supprime le premier élément du vecteur et renvoie cet élément.Si la propriété fixed est définie sur true. RangeErrorRangeErrorLe premier élément dans le vecteur. Supprime le premier élément du vecteur et renvoie cet élément. Les éléments restants du vecteur sont décalés de leur position d’origine, i, vers i -1. Vector.pop()Vector.push()Vector.unshift()slice Renvoie un nouveau vecteur constitué d’un éventail d’éléments issus du vecteur d’origine, sans modifier ce dernier.un vecteur constitué d’un éventail d’éléments issus du vecteur d’origine. startIndexint0Nombre spécifiant l’index du point de départ pour la découpe. Si startIndex est un nombre négatif, le point de départ se trouve à la fin du vecteur, où la valeur -1 correspond au dernier élément. endIndexint16777215Nombre spécifiant l’index du point d’arrivée pour la découpe. Si vous omettez ce paramètre, la découpe inclut tous les éléments, du point de départ à la fin du vecteur. Si endIndex est un nombre négatif, le point d’arrivée spécifié se trouve à la fin du vecteur, où la valeur -1 correspond au dernier élément. Renvoie un nouveau vecteur constitué d’un éventail d’éléments issus du vecteur d’origine. Renvoie un nouveau vecteur constitué d’un éventail d’éléments issus du vecteur d’origine, sans modifier ce dernier. Le vecteur renvoyé inclut l’élément startIndex et tous les éléments, excepté l’élément endIndex.

Si vous ne transmettez aucun paramètre, le nouveau vecteur est une duplication (clone simple) du vecteur d’origine. Si vous transmettez une valeur de 0 pour les deux paramètres, un nouveau vecteur vide de même type que le vecteur d’origine est créé.

some Exécute une fonction de test sur chaque élément du vecteur jusqu’à ce que l’un d’eux renvoie true.Une valeur booléenne true si un élément du vecteur renvoie true pour la fonction spécifiée, false dans tous les autres cas. BooleancallbackFunctionFonction à exécuter sur chaque élément du vecteur. Cette fonction est invoquée avec trois arguments : l’élément actuel du vecteur, l’index de l’élément et l’objet Vector :
function callback(item:T, index:int, vector:Vector.<T>):Boolean

La fonction de rappel doit renvoyer une valeur booléenne.

thisObjectObjectnullObjet auquel se réfère l’identifiant this dans le rappel lorsque la fonction est appelée.
Exécute une fonction de test sur chaque élément du vecteur jusqu’à ce que l’un d’eux renvoie true. Cette méthode vous permet de déterminer si un élément du vecteur répond au critère défini, tel qu’une valeur inférieure à un nombre spécifique.

Avec cette méthode, le second paramètre, thisObject, doit être réglé sur null si le premier paramètre, callback, est une fermeture de méthode. C’est ainsi que cette méthode est le plus souvent utilisée.

Néanmoins, supposons que vous créiez une fonction sur une image du scénario principal et que vous souhaitiez qu’elle soit appelée dans un contexte this différent :

     function myFunction(item:Object, index:int, vector:Vector.<T>):Boolean {
        // your code here
     }
     

Supposons que vous utilisiez ensuite la méthode some() sur un vecteur appelé myVector :

     myVector.some(myFunction, someObject);
     

Etant donné que myFunction appartient à la classe principale du fichier SWF, elle ne peut pas être exécutée dans un contexte this différent. Les moteurs d’exécution de Flash renvoient un exception lors de l’exécution de ce code. Pour éviter le renvoi de cette erreur d’exécution, affectez la fonction à une variable, comme suit :

     var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):Boolean {
         //your code here
     };
     myVector.some(myFunction, someObject);
     
every()
sort Trie les éléments dans le vecteur.Ce vecteur, avec les éléments dans le nouvel ordre. compareFunctionFunctionMéthode de comparaison qui détermine le comportement du tri.

La méthode spécifiée doit prendre deux arguments du type de base (T) du vecteur et renvoyer un nombre :

function compare(x:T, y:T):Number {}

La logique de la fonction compareFunction est que, selon deux éléments x et y, la fonction renvoie l’une des trois valeurs suivantes :

  • un nombre négatif, si x apparaît avant y dans la séquence triée ;
  • 0, si x équivaut à y ;
  • un nombre positif, si x apparaît après y dans la séquence triée.
Trie les éléments dans le vecteur. Cette méthode effectue le tri selon la fonction fournie en tant que paramètre compareFunction.
splice Ajoute et supprime des éléments dans un vecteur.Si les arguments startIndex et deleteCount spécifient un index à supprimer qui se trouve en dehors des limites du vecteur. RangeErrorRangeErrorSi la méthode est appelée alors que la propriété fixed est définie sur true et que l’opération splice() modifie la longueur du vecteur. RangeErrorRangeErrorun vecteur contenant les éléments supprimés du vecteur d’origine. startIndexintEntier spécifiant l’index de la position d’insertion ou de suppression de l’élément dans le vecteur. Vous pouvez utiliser un entier négatif pour définir une position par rapport à la fin du vecteur (par exemple, la valeur -1 représente le dernier élément du vecteur). deleteCountuint4294967295Entier spécifiant le nombre d’éléments à supprimer. Ce nombre inclut l’élément spécifié dans le paramètre startIndex. Si vous ne spécifiez pas de valeur pour le paramètre deleteCount, la méthode supprime toutes les valeurs comprises entre l’élément startIndex et le dernier élément du vecteur. (La valeur par défaut est uint.MAX_VALUE.) Si la valeur est 0, aucun élément n’est supprimé. itemsListe facultative d’une ou de plusieurs valeurs séparées par une virgule à insérer dans le vecteur à la position spécifiée par le paramètre startIndex. Ajoute et supprime des éléments dans un vecteur. Cette méthode modifie le vecteur sans faire de copie.

Remarque : pour annuler cette méthode dans une sous-classe de Vector, utilisez ...args pour les paramètres, comme indiqué dans l’exemple ci-dessous :

     public override function splice(...args) {
       // your statements here
     }
     
toLocaleString Renvoie une chaîne représentant les éléments du vecteur spécifié.Chaîne d’éléments de vecteur. String Renvoie une chaîne représentant les éléments du vecteur spécifié. Chaque élément du vecteur, de la position d’index 0 à la position d’index la plus élevée, est converti en chaîne concaténée et séparé par des virgules. Dans l’implémentation d’ActionScript 3.0, cette méthode renvoie la même valeur que la méthode Vector.toString(). Vector.toString()toString Renvoie une chaîne représentant les éléments du vecteur.Chaîne d’éléments de vecteur. String Renvoie une chaîne représentant les éléments du vecteur. Chaque élément du vecteur, de la position d’index 0 à la position d’index la plus élevée, est converti en chaîne concaténée et séparé par des virgules. Pour spécifier un séparateur personnalisé, utilisez la méthode Vector.join(). String.split()Vector.join()unshift Ajoute un ou plusieurs éléments du début d’un vecteur et renvoie la nouvelle longueur du vecteur.Si un argument n’est pas une occurrence du type de base T du vecteur. TypeErrorTypeErrorSi cette méthode est appelée alors que fixed est true. RangeErrorRangeErrorEntier représentant la nouvelle longueur du vecteur. uintargsUne ou plusieurs occurrence du type de base du vecteur à insérer au début du vecteur. Ajoute un ou plusieurs éléments du début d’un vecteur et renvoie la nouvelle longueur du vecteur. Les autres éléments du vecteur sont décalés de leur position d’origine, i, vers i + le nombre de nouveaux éléments.

Etant donné que cette fonction peut accepter plusieurs arguments, le type de données des arguments n’est pas vérifié au moment de la compilation, même en mode strict. En revanche, si un argument n’étant pas une occurrence du type de base est transmis, une exception se produit au moment de l’exécution.

Vector.pop()Vector.push()Vector.shift()
fixed Indique si la propriété length du vecteur peut être modifiée.Boolean Indique si la propriété length du vecteur peut être modifiée. Si la valeur est définie sur true, la propriété length ne peut pas être modifiée. Cela signifie que les opérations suivantes ne sont pas autorisées lorsque fixed est true :
  • réglage direct de la propriété length ;
  • attribution d’une valeur à la position d’index length ;
  • appel d’une méthode qui modifie la propriété length, notamment :
    • pop()
    • push()
    • shift()
    • unshift()
    • splice() (si l’appel de la méthode splice() change la propriété length du vecteur).
length Plage des index disponibles dans le vecteur.uintSi cette propriété est modifiée alors que fixed est true. RangeErrorRangeErrorSi cette propriété est définie sur une valeur supérieure à l’index maximal autorisé (232). RangeErrorRangeError Plage des index disponibles dans le vecteur. Une occurrence de Vector a des positions d’index jusqu’à la valeur length (mais sans l’inclure).

Chaque élément du vecteur possède toujours une valeur qui correspond à une occurrence du type de base ou à la valeur null. Lorsque la propriété length est définie sur une valeur supérieure à sa valeur précédente, d’autres éléments sont créés et remplis avec la valeur par défaut correspondant au type de base (null pour les types de référence).

Lorsque la propriété length est définie sur une valeur inférieure à sa valeur précédente, tous les éléments à des positions d’index supérieures ou égales à la nouvelle valeur length sont supprimés du vecteur.