Les instructions sont des éléments de langage qui effectuent ou spécifient une action lors de l'exécution. Par exemple, l'instruction return renvoie un résultat sous forme de valeur de la fonction dans laquelle elle s'exécute. L'instruction if évalue une condition pour déterminer la prochaine action à exécuter. L'instruction switch crée une structure arborescente pour les instructions ActionScript.

Les mots-clés d'attribut modifient le sens des définitions et peuvent être appliqués à des définitions de classe, de variable, de fonction et d'espace de nom. Les mots-clés de définition permettent de définir des entités, telles que des variables, des fonctions, des classes et des interfaces. Les mots-clés d'expressions primaires représentent des valeurs littérales. Pour obtenir la liste des mots réservés, consultez le document Programmation d'ActionScript 3.0.

Les directives incluent des instructions et des définitions, et peuvent avoir un impact lors de la compilation ou de l'exécution. Les directives qui ne sont ni des instructions ni des définitions sont désignées simplement en tant que directives dans le tableau suivant.


  Espace de nom Synthèse
 AS3Définit les méthodes et les propriétés des classes ActionScript qui sont des propriétés fixes et non des propriétés de prototype.
 flash_proxyDéfinit les méthodes de la classe Proxy.
 object_proxyDéfinit les méthodes de la classe ObjectProxy.
  Directive Synthèse
 default xml namespace La directive default xml namespace définit l'espace de nom par défaut à utiliser pour les objets XML.
 importRend les classes et les packages définis en externe disponibles pour votre code.
 includeInclut le contenu du fichier spécifié, comme si les commandes du fichier faisaient partie du script d'appel.
 use namespaceSuite à cette opération, les espaces de nom spécifiés sont ajoutés à l'ensemble d'espaces de nom ouverts.
 instructionSynthèse
 breakApparaît dans une boucle (for, for..in, for each..in, do..while ou while) ou dans un bloc d'instructions associées à un cas particulier dans une instruction switch.
 caseDéfinit un hyperlien cible pour l'instruction switch.
 continueIgnore toutes les instructions restantes dans la boucle imbriquée de plus bas niveau et passe à l'itération suivante, comme si le contrôle avait été transmis à la fin de la boucle normalement.
 defaultDéfinit le cas par défaut d'une instruction switch.
 do..whileSemblable à une boucle while, à la différence que les instructions sont exécutées une fois avant l'évaluation initiale de la condition.
 elseSpécifie les instructions à exécuter si la condition de l'instruction if renvoie false.
 forEvalue l'expression init (initialiser) une fois, puis amorce une séquence de bouclage.
 for..inRépète en boucle les propriétés dynamiques d'un objet ou d'éléments de tableau, puis exécute l'instruction statement pour chaque propriété ou élément.
 for each..inProcède à une itération sur les éléments d'une collection et exécute statement pour chaque élément.
 ifEvalue une condition pour déterminer la prochaine instruction à exécuter.
 labelAssocie une instruction à un identificateur qui peut être référencé par break ou continue.
 returnTransfère immédiatement l'exécution à la fonction appelante.
 superInvoque la version super-classe ou parent d'une méthode ou d'un constructeur.
 switchTransfère le contrôle à une instruction en fonction de la valeur d'une expression.
 throwGénère ou renvoie une erreur qui peut être traitée ou niterceptée par un bloc de code catch.
 try..catch..finallyEntoure un bloc de code dans lequel une erreur peut se produire et être traitée.
 whileEvalue une condition. Si elle renvoie true, exécute une ou plusieurs instructions avant de remonter la boucle et de réévaluer la condition.
 withEtablit un objet à utiliser par défaut pour l'exécution d'une ou plusieurs instructions, ce qui permet de réduire le nombre de lignes de code à écrire.
 mot-clé d'attributSynthèse
 dynamicSpécifie que les occurrences d'une classe peuvent posséder des propriétés dynamiques qui sont ajoutées lors de l'exécution.
 finalPermet de spécifier qu'une méthode ne peut pas être remplacée ou qu'une classe ne peut pas être étendue.
 internalPermet de spécifier si une classe, une variable, une constante ou une fonction est disponible pour tous les appels au sein du même package.
 nativePermet de spécifier si une fonction ou méthode doit être implémentée par Flash Player en code natif.
 overrideSpécifie une méthode qui remplace une méthode héritée.
 privateSpécifie qu'une variable, une constante, méthode ou espace de nom est disponible uniquement pour la classe qui la définit.
 protectedSpécifie qu'une variable, une constante, méthode ou espace de nom est disponible uniquement pour la classe qui la définit et pour toutes les sous-classes de cette classe.
 publicPermet de spécifier si une classe, une variable, une constante ou une méthode est disponible pour tous les appels.
 staticPermet de spécifier qu'une variable, constante ou méthode appartient à la classe, et non pas aux occurrences de la classe.
 mot clé de définitionSynthèse
 ... (rest) parameterPermet de spécifier si une fonction peut accepter un nombre illimité d'arguments séparés par des virgules.
 classDéfinit une classe, ce qui permet de créer des occurrences d'objets qui partagent les méthodes et les propriétés que vous définissez.
 constSpécifie une constante, variable qui ne peut recevoir de valeur qu'une seule fois.
 extendsDéfinit une classe qui est une sous-classe d'une autre classe.
 functionComprend un ensemble d'instructions que vous définissez pour effectuer une certaine tâche.
 getDéfinit une méthode de lecture qui peut être lue comme une propriété.
 implementsSpécifie qu'une classe implémente une ou plusieurs interfaces.
 interfaceDéfinit une interface.
 namespacePermet de contrôler la visibilité des définitions.
 packagePermet de répartir votre code dans des groupes de petite taille qui peuvent être importés par d'autres scripts.
 setDéfinit une méthode de définition, méthode qui s'affiche dans l'interface publique en tant que propriété.
 varSpécifie une variable.
 mot clé de l'expression primaireSynthèse
 falseValeur booléenne false.
 nullValeur spéciale qui peut être affectée à des variables ou renvoyée par une fonction en l'absence de données.
 thisRéférence à l'objet contenant une méthode.
 trueValeur booléenne true.
Directives, instructions et mots-clés et détaillés
... (rest) parametermot clé de définition
Utilisation
function functionName(parameter0, parameter1, ...rest){ 
	// statement(s) 
} 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Permet de spécifier si une fonction peut accepter un nombre illimité d'arguments séparés par des virgules. La liste des arguments devient un tableau qui est disponible dans tout le corps de la fonction. Le nom du tableau est spécifié après les caractères ... dans la déclaration de paramètres. Veillez à ne pas inclure un mot réservé dans le nom du paramètre.

S'il est utilisé avec d'autres paramètres, la déclaration de paramètres ... (rest) doit être en fin de série. Le tableau de paramètres ... (rest) n'est rempli que si le nombre d'arguments transmis à la fonction est supérieur au nombre des autres paramètres.

Tous les arguments figurant dans la liste et séparés par des virgules sont placés dans un élément du tableau. Si vous transmettez une occurrence de la classe Array, l'ensemble du tableau est placé dans un seul élément du tableau de paramètres ... (rest).

Ce paramètre rend l'objet arguments non disponible. Le paramètre ... (rest) apporte les mêmes fonctionnalités que le tableau arguments et la propriété arguments.length, cependant il n'offre pas les mêmes fonctionnalités que arguments.callee. Assurez-vous que vous ne devez pas utiliser arguments.callee avant d'utiliser le paramètre ... (rest).

Paramètres
rest:* — Un identificateur qui représente le nom du tableau d'arguments transmis à la fonction. Ce paramètre ne doit pas nécessairement être appelé rest. Veillez cependant à ne pas utiliser un mot-clé réservé. Vous pouvez choisir Array comme type de données du paramètre ... (rest), mais ceci risque de prêter à confusion dans la mesure où le paramètre autorise une liste de valeurs séparées par des virgules, ce qui diffère d'une occurrence de la classe Array.

Exemple
Utilisation des exemples
L'exemple suivant reprend le paramètre ... (rest) dans deux fonctions distinctes. La première fonction, traceParams, appelle simplement la fonction trace() sur chacun des arguments dans le tableau rest. La deuxième fonction, average(), prend la liste d'arguments et renvoie la moyenne. La deuxième fonction utilise également un autre nom, args, pour le paramètre.
package {
    import flash.display.MovieClip;
    
    public class RestParamExample extends MovieClip {
        public function RestParamExample() {
            traceParams(100, 130, "two"); // Output: 100,130,two
            trace(average(4, 7, 13));     // Output: 8
        }
    }
}


function traceParams(... rest) {
     trace(rest);
 }
 
function average(... args) : Number{
    var sum:Number = 0;
    for (var i:uint = 0; i < args.length; i++) {
        sum += args[i];
    }
    return (sum / args.length);
}

Voir aussi

AS3namespace 

Définit les méthodes et les propriétés des classes ActionScript qui sont des propriétés fixes et non des propriétés de prototype. Lorsque vous définissez l'option " -as3 " du compilateur sur true (which is the default setting in Flex Builder 2), l'espace de nom AS3 est ouvert automatiquement pour toutes les classes de base. Par conséquent, les classes de base utilisent les propriétés fixes et les méthodes au lieu des versions de ces propriétés et méthodes qui sont liées à l'objet prototype de la classe. L'emploi de propriétés fixes permet généralement d'obtenir de meilleures performances, mais entraîne des problèmes de compatibilité ascendante avec la version 3 d'ECMAScript (ECMA-262).

Voir aussi

breakinstruction 
Utilisation

break [label]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Apparaît dans une boucle (for, for..in, for each..in, do..while ou while) ou dans un bloc d'instructions associées à un cas particulier dans une instruction switch. Lorsqu'elle est utilisée dans une boucle, l'instruction break force Flash à ignorer le reste du corps de la boucle, arrête l'action de la boucle et exécute l'instruction suivant l'instruction de bouclage. Lorsqu'elle est utilisée dans switch, l'instruction break demande à Flash d'ignorer le reste des instructions dans ce bloc case et passe à la première instruction qui suit l'instruction switch qui l'englobe.

Dans les boucles imbriquées, break ignore uniquement le reste de la boucle immédiate, sans sortir de la série de boucles. Pour sortir d'une série de boucles imbriquées, utilisez label ou try..catch..finally.

L'instruction break peut comporter une étiquette facultative qui doit correspondre à une instruction externe avec étiquette. Toute utilisation d'une étiquette ne correspondant pas à l'étiquette d'une instruction externe constitue une erreur de syntaxe. Les instructions break nommées permettent de sortir de plusieurs niveaux de boucles imbriquées, d'instructions switch ou block. Pour consulter un exemple d'utilisation de l'instruction label, reportez-vous à la description correspondante.

Paramètres
label:* — Nom de l'étiquette associée à une instruction.

Exemple
Utilisation des exemples
L'exemple suivant emploie l'instruction break pour fermer une boucle sans fin :
var i:int = 0;
while (true) { 
    trace(i); 
    if (i >= 10) { 
        break; // this will terminate/exit the loop 
    } 
    i++; 
} 
/* output:
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10*/

Voir aussi

caseinstruction 
Utilisation
case jumpTarget: statements

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Définit un hyperlien cible pour l'instruction switch. Si le paramètre jumpTarget est égal au paramètre expression de l'instruction switch à l'aide de l'égalité stricte (===), Flash Player exécute les instructions du paramètre statements jusqu'à ce qu'il détecte une instruction break à la fin de l'instruction switch.

Si vous utilisez l'instruction case en dehors d'une instruction switch, il produit une erreur et le script ne se compile pas.

Remarque : Vous devez toujours compléter le paramètre statements par une instruction break. Si vous omettez l'instruction break du paramètre statements, il poursuit son exécution avec l'instruction case sans quitter l'instruction switch.

Paramètres
jumpTarget:* — Toute expression.
statements:* — Instructions d'exécution si jumpTarget correspond à l'expression conditionnelle dans l'instruction switch.

Exemple
Utilisation des exemples
L'exemple suivant définit des cibles d'hyperlien pour l'instruction switch thisMonth. Si thisMonth est égal à l'expression de l'instruction case, l'instruction s'exécute.
var thisMonth:int = new Date().getMonth(); 
switch (thisMonth) { 
    case 0 : 
        trace("January"); 
        break; 
    case 1 : 
        trace("February"); 
        break; 
    case 5 : 
    case 6 : 
    case 7 : 
        trace("Some summer month"); 
        break; 
    case 8 : 
        trace("September"); 
        break; 
    default : 
        trace("some other month"); 
}

Voir aussi

classmot clé de définition 
Utilisation
[dynamic] [public | internal] [final] class className [ extends superClass ] [ implements interfaceName[, interfaceName... ] ] { 
	// class definition here
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Définit une classe, ce qui permet de créer des occurrences d'objets qui partagent les méthodes et les propriétés que vous définissez. Par exemple, si vous développez un système de suivi de factures, vous pouvez créer une classe Invoice (facture) qui définit toutes les méthodes et propriétés communes à chaque facture. Vous pouvez alors exécuter la commande new Invoice() pour créer des objets Invoice.

Chaque fichier ActionScript source ne peut contenir qu'une seule classe visible aux autres fichiers ou scripts source. La classe visible de l'extérieur peut être publique ou interne et doit être définie à l'intérieur d'une instruction de package. Si vous ajoutez d'autres classes dans le même fichier, elles doivent être placées à l'extérieur de l'instruction de package et à la fin du fichier.

Le nom de la classe visible de l'extérieur doit correspondre au nom du fichier ActionScript source qui contient cette classe. Le nom du fichier source doit être identique au nom de la classe, auquel vient s'ajouter l'extension .as. Par exemple, si vous nommez une classe Stagiaire, le fichier qui définit la classe doit s'appeler Stagiaire.as.

Vous ne pouvez pas incorporer des définitions de classe. En d'autres termes, vous ne pouvez pas définir de classes supplémentaires dans une définition de classe.

Vous pouvez définir une méthode constructeur, exécutée à chaque création d'une nouvelle occurrence de la classe. Le nom de la méthode constructeur doit correspondre au nom de la classe. Si vous ne définissez pas de méthode constructeur, un constructeur par défaut est créé pour vous.

Pour indiquer que des objets peuvent ajouter des propriétés dynamiques pendant la période d'exécution et y accéder, faites précéder l'instruction class par un mot-clé dynamic. Pour déclarer qu'une classe implémente une interface, employez le mot-clé implements. Pour créer des sous-classes d'une classe, employez le mot-clé extends. (Une classe ne peut étendre qu'une seule autre classe, mais peut implémenter plusieurs interfaces.) Vous pouvez utiliser implements et extends dans une instruction unique. Les exemples suivants présentent des utilisations type des mots clés implements et extends :

class C implements Interface_i, Interface_j // OK 
class C extends Class_d implements Interface_i, Interface_j // OK 
class C extends Class_d, Class_e // not OK 

Paramètres
className:Class — Nom complet de la classe.

Exemple
Utilisation des exemples
L'exemple suivant crée une classe intitulée Plant. Le constructeur Plant réclame deux paramètres.
// Filename Plant.as 
package {
  public class Plant { 
    // Define property names and types 
    private var _leafType:String; 
    private var _bloomSeason:String; 
    // Following line is constructor 
    // because it has the same name as the class 
    public function Plant(param_leafType:String, param_bloomSeason:String) { 
        // Assign passed values to properties when new Plant object is created 
        _leafType = param_leafType; 
        _bloomSeason = param_bloomSeason; 
    } 
    // Create methods to return property values, because best practice 
    // recommends against directly referencing a property of a class 
    public function get leafType():String { 
        return _leafType; 
    } 
    public function get bloomSeason():String { 
        return _bloomSeason; 
    } 
  }
}
Dans votre script, utilisez l'opérateur new pour créer un objet Plant.
var pineTree:Plant = new Plant("Evergreen", "N/A"); 
// Confirm parameters were passed correctly 
trace(pineTree.leafType); 
trace(pineTree.bloomSeason); 

Voir aussi

constmot clé de définition 
Utilisation
const identifier = value 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie une constante, variable qui ne peut recevoir de valeur qu'une seule fois.

Vous pouvez définir de façon stricte le type d'une constante en lui ajoutant un caractère deux points (:) suivi du type de données.

Paramètres
identifier:* — Identificateur pour la constante.

Exemple
Utilisation des exemples
L'exemple suivant montre une erreur qui se produit lorsque vous tentez d'affecter plusieurs fois une valeur à une constante.
const MIN_AGE:int = 21;
MIN_AGE = 18; // error
L'exemple suivant démontre que, si une constante est un tableau, vous pouvez toujours appeler les méthodes de la classe Array, y compris Array.push(). Cependant, vous ne pouvez pas affecter un nouveau littéral de tableau.
const product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze"); 
product_array.push("Flex"); // array operations are allowed
product_array = ["Other"];  // assignment is an error
trace(product_array); 

Voir aussi

continueinstruction 
Utilisation
continue [label]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Ignore toutes les instructions restantes dans la boucle de plus bas niveau et passe à l'itération suivante, comme si le contrôle avait été transmis à la fin de la boucle normalement. L'instruction continue n'a aucun effet en dehors d'une boucle. Dans les boucles imbriquées, utilisez le paramètre facultatif label pour ignorer les boucles de plus haut niveau.

L'instruction continue peut comporter une étiquette facultative qui doit correspondre à une instruction externe avec étiquette. Toute utilisation d'une étiquette ne correspondant pas à l'étiquette d'une instruction externe constitue une erreur de syntaxe. Les instructions continue avec étiquette permettent d'ignorer plusieurs niveaux d'instructions de boucles imbriquées.


Exemple
Utilisation des exemples
Dans la boucle while suivante, l'instruction continue permet d'ignorer le reste du corps de la boucle lorsque vous rencontrez un multiple de 3 et de revenir au début de la boucle, où la condition est testée :
var i:int = 0; 
while (i < 10) { 
    if (i % 3 == 0) { 
        i++; 
        continue; 
    } 
    trace(i); 
    i++; 
}

Dans une boucle for, l'instruction continue permet également d'ignorer le reste du corps de la boucle. Dans l'exemple suivant, si i % 3 égale 0, l'instruction trace(i) est ignorée :

 
for (var i:int = 0; i < 10; i++) { 
    if (i % 3 == 0) { 
        continue; 
    } 
    trace(i); 
}

Voir aussi

defaultinstruction 
Utilisation
default: statements 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Définit le cas par défaut d'une instruction switch. Les instructions s'exécutent si le paramètre expression de l'instruction switch n'est pas égal (à l'aide de l'opération d'égalité stricte [===]) à l'un des paramètres expression qui suivent les mots clés case d'une instruction switch donnée.

Une instruction switch ne nécessite pas d'instruction case default. L'instruction default correspondant aux instructions case ne doit pas nécessairement figurer en fin de liste. Si vous utilisez l'instruction default en dehors d'une instruction switch, il produit une erreur et le script ne se compile pas.

Paramètres
statements:* — Toute instruction.

Exemple
Utilisation des exemples
Dans l'exemple suivant, lorsque le jour de la semaine est samedi ou dimanche, aucune des instructions case ne s'applique, par conséquent l'exécution se déplace vers l'instruction default.
var dayOfWeek:int = new Date().getDay(); 
switch (dayOfWeek) { 
    case 1 : 
        trace("Monday"); 
        break; 
    case 2 : 
        trace("Tuesday"); 
        break; 
    case 3 : 
        trace("Wednesday"); 
        break; 
    case 4 : 
        trace("Thursday"); 
        break; 
    case 5 : 
        trace("Friday"); 
        break; 
    default : 
        trace("Weekend"); 
}

Voir aussi

default xml namespacedirective 
Utilisation

default xml namespace = ns

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

La directive default xml namespace définit l'espace de nom par défaut à utiliser pour les objets XML.

Si vous ne définissez pas default xml namespace, l'espace de nom par défaut correspond à l'espace de nom sans nom (l'URI est définie sur une chaîne vide). Le domaine d'une déclaration default xml namespace se trouve au sein d'un bloc de fonction, comme le domaine d'une variable.


Exemple
Utilisation des exemples
L'exemple suivant indique que le domaine de default xml namespace est un bloc de fonction :
var nsDefault1:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = nsDefault1;
        
var x1:XML = <test1 />;
trace("x1 ns: " + x1.namespace());
            
scopeCheck();    

var x2:XML = <test2 />;
trace("x2 ns: " + x2.namespace());
        
function scopeCheck(): void {
    
    var x3:XML = <test3 />;
    trace("x3 ns: " + x3.namespace());
                
    var nsDefault2:Namespace = new Namespace("http://schemas.xmlsoap.org/soap/envelope/");
    default xml namespace = nsDefault2;
            
    var x4:XML = <test4 />;
    trace("x4 ns: " + x4.namespace());

}

La sortie trace() de cet exemple renvoie ce qui suit :

x1 ns: http://www.example.com/namespaces/
x3 ns: 
x4 ns: http://schemas.xmlsoap.org/soap/envelope/
x2 ns: http://www.example.com/namespaces/
L'exemple suivant utilise default xml namespace pour affecter l'espace de nom par défaut. Le deuxième objet XML (x2) n'utilise pas ce paramètre car x2 définit son propre espace de nom par défaut :
var nsDefault:Namespace = new Namespace("http://www.example.com/namespaces/");
default xml namespace = nsDefault;
            
var x1:XML = <test1 />;

trace(x1.namespace());
    // http://www.example.com/namespaces/

var x2:XML = <test2 xmlns = "http://www.w3.org/1999/XSL/Transform/" />;
trace(x2.namespace());
    // http://www.w3.org/1999/XSL/Transform/

var x3:XML = <test3 xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" />;
trace(x3.namespace());
    // http://www.example.com/namespaces/

Voir aussi

do..whileinstruction 
Utilisation
do { statement(s) } while (condition)

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Semblable à une boucle while, à la différence que les instructions sont exécutées une fois avant l'évaluation initiale de la condition. Par conséquent, les instructions ne sont exécutées que si la condition est true.

La boucle do..while permet de s'assurer que le code de la boucle s'exécute au moins une fois. Vos pouvez également exécuter cette action avec une boucle while en plaçant une copie des instructions à exécuter avant le début de la boucle while, cependant de nombreux programmeurs estiment que les boucles do..while sont plus faciles à lire.

Si la condition renvoie toujours true, la boucle do..while est infinie. Si vous entrez une boucle infinie, vous rencontrerez des problèmes au niveau de Flash Player avec un message d'avertissement, voire un blocage du lecteur. Dans la mesure du possible, utilisez une boucle for si vous connaissez le nombre de répétitions de la boucle. Les boucles for sont plus faciles à lire et déboguer, cependant elles ne peuvent pas remplacer les boucles do..while dans toutes les circonstances.

Paramètres
condition:Boolean — Condition à évaluer. Les statement(s) du bloc de code do s'exécutent tant que le paramètre condition renvoie true.

Exemple
Utilisation des exemples
L'exemple suivant a recours à une boucle do..while pour déterminer si une boucle est true, et suit myVar jusqu'à ce que myVar ait au moins la valeur 5. Lorsque myVar est supérieure ou égale à 5, la boucle se termine.
var myVar:Number = 0; 
do { 
    trace(myVar); 
    myVar++; 
} 
while (myVar < 5); 
/* output: 
0 
1 
2 
3 
4
*/

Voir aussi

dynamicmot-clé d'attribut 
Utilisation
dynamic class className { // class definition here }

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie que les occurrences d'une classe peuvent posséder des propriétés dynamiques qui sont ajoutées lors de l'exécution. Si vous utilisez l'attribut dynamic pour une classe, vous pouvez ajouter des propriétés à ses occurrences lors de l'exécution. Les classes qui ne sont pas marquées comme dynamic sont considérées scellées, ce qui signifie qu'aucune propriété ne peut être ajoutée à leurs occurrences.

Si une classe est scellée (non dynamique), les tentatives de lecture ou d'écriture de propriétés sur ses occurrences produisent une erreur. Si le compilateur s'exécute en mode strict et que vous spécifiez le type de données à la création des occurrences, les tentatives d'ajout de propriétés aux objets scellés renvoient une erreur de compilation ou une erreur se produit à l'exécution.

L'attribut dynamic n'est pas hérité par les sous-classes. Si vous étendez une classe dynamique, la sous-classe ne devient dynamique que si vous la déclarez avec l'attribut dynamic.

Remarque : Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions.


Exemple
Utilisation des exemples
L'exemple suivant crée deux classes, une classe dynamique appelée Expando et une classe scellée appelée Sealed, qui sont utilisées dans les prochains exemples.
package {

    dynamic class Expando  {
    }
    
    class Sealed {
    }
}
Le code suivant crée une occurrence de la classe Expando et montre que vous pouvez lui ajouter des propriétés.
var myExpando:Expando = new Expando();
myExpando.prop1 = "new";
trace(myExpando.prop1); // output: new
Le code suivant crée une occurrence de la classe Sealed et montre que toute tentative d'ajout de propriétés entraînera une erreur.
var mySealed:Sealed = new Sealed();
mySealed.prop1 = "newer"; // error

Voir aussi

elseinstruction 
Utilisation
if (condition) { 
	// statement(s)
} 
else {
	// statement(s)
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie les instructions à exécuter si la condition de l'instruction if renvoie false. Les accolades ({}) qui entourent les instructions à exécuter avec l'instruction else sont facultatives si une seule instruction doit s'exécuter.

Paramètres
condition:Boolean — Une expression qui renvoie true ou false.

Exemple
Utilisation des exemples
Dans l'exemple suivant, la condition else permet de vérifier si la variable age_txt est supérieure ou égale à 18 :
if (age_txt.text>=18) { 
    trace("welcome, user"); 
} 
else { 
    trace("sorry, junior"); 
    userObject.minor = true; 
    userObject.accessAllowed = false;
}
Dans l'exemple suivant, les accolades ({}) sont inutiles dans la mesure où une seule instruction suit l'instruction else :
if (age_txt.text>18) { 
    trace("welcome, user");
} 
else trace("sorry, junior");
L'exemple suivant utilise une combinaison des instructions if et else pour comparerscore_txt à une valeur spécifique :

if (score_txt.text>90) { 
    trace("A"); 
} 
else if (score_txt.text>75) { 
    trace("B"); 
} 
else if (score_txt.text>60) { 
    trace("C"); 
} 
else { 
    trace("F"); 
}

Voir aussi

extendsmot clé de définition 
Utilisation
class className extends otherClassName {}
interface interfaceName extends otherInterfaceName {} 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Définit une classe qui est une sous-classe d'une autre classe. La sous-classe hérite de toutes les méthodes, propriétés, fonctions, etc. qui sont définies dans la super-classe. Les classes qui portent la mention final ne peuvent pas être étendues.

Vous pouvez également utiliser le mot-clé extends pour étendre une interface. Toute interface qui étend une autre interface reprend toutes les déclarations de méthode de l'interface d'origine.

Remarque : Pour utiliser ce mot-clé, vous devez spécifier ActionScript 2.0 et Flash Player 6 ou une version plus récente dans l'onglet Flash de la boîte de dialogue Paramètres de publication de votre fichier FLA. Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions.

Paramètres
className:Class — Nom de la classe en cours de définition.

Exemple
Utilisation des exemples
Dans l'exemple suivant, la classe Car étend la classe Vehicle de sorte que toutes ses méthodes, propriétés et fonctions soient héritées. Si votre script instancie un objet Car, les méthodes de la classe Car et de la classe Vehicle peuvent être utilisées.

L'exemple suivant affiche le contenu d'un fichier intitulé Vehicle.as, qui définit la classe Vehicle :

package {
    class Vehicle { 
        var numDoors:Number; 
        var color:String; 
        public function Vehicle(param_numDoors:Number = 2, param_color:String = null) { 
            numDoors = param_numDoors; 
            color = param_color; 
        } 
        public function start():void { 
            trace("[Vehicle] start"); 
        } 
        public function stop():void { 
            trace("[Vehicle] stop"); 
        } 
        public function reverse():void { 
            trace("[Vehicle] reverse"); 
        } 
    }    
}
L'exemple suivant affiche un deuxième fichier ActionScript, intitulé Car.as, dans le même répertoire. Cette classe étend la classe Vehicle, en la modifiant de trois façons. D'abord, la classe Car ajoute une variable fullSizeSpare afin de déterminer si, oui ou non, l'objet car est doté d'une roue de secours de taille normale. Ensuite, elle ajoute une nouvelle méthode propre aux voitures, activateCarAlarm(), permettant d'activer l'alarme antivol du véhicule. Enfin, elle remplace la fonction stop() pour spécifier que la classe Car utilise un système de freinage ABS.
package {

    public class Car extends Vehicle { 
        var fullSizeSpare:Boolean; 
        public function Car(param_numDoors:Number, param_color:String, param_fullSizeSpare:Boolean) { 
            numDoors = param_numDoors; 
            color = param_color; 
            fullSizeSpare = param_fullSizeSpare; 
        } 
        public function activateCarAlarm():void { 
            trace("[Car] activateCarAlarm"); 
        } 
        public override function stop():void { 
            trace("[Car] stop with antilock brakes"); 
        } 
    }
}
L'exemple suivant crée une occurrence de l'objet Car, appelle une méthode définie dans la classe Vehicle (start()), puis appelle la méthode bloquée par la classe Car (stop()) et enfin une méthode de la classe Car (activateCarAlarm()) :
var myNewCar:Car = new Car(2, "Red", true); 
myNewCar.start(); // output: [Vehicle] start 
myNewCar.stop(); // output: [Car] stop with anti-lock brakes 
myNewCar.activateCarAlarm(); // output: [Car] activateCarAlarm

Vous pouvez également écrire une sous-classe pour la classe Vehicle à l'aide de l'instruction super. La sous-classe pourra l'utiliser pour accéder au constructeur de la super-classe. L'exemple suivant affiche un troisième fichier ActionScript, intitulé Truck.as, toujours dans le même répertoire. La classe Truck utilise super dans le constructeur et dans la méthode reverse() bloquée.

package {
    class Truck extends Vehicle {
        var numWheels:Number;
        public function Truck(param_numDoors:Number, param_color:String, param_numWheels:Number) { 
            super(param_numDoors, param_color); 
            numWheels = param_numWheels; 
        } 
        public override function reverse():void { 
            beep();
            super.reverse();
        } 
        public function beep():void { 
            trace("[Truck] make beeping sound"); 
        } 
    }
}
L'exemple suivant crée une occurrence de l'objet Truck, appelle une méthode bloquée par la classe Truck (reverse()), puis appelle une méthode définie dans la classe Vehicle (stop()) :
var myTruck:Truck = new Truck(2, "White", 18); 
myTruck.reverse(); // output: [Truck] make beeping sound [Vehicle] reverse 
myTruck.stop(); // output: [Vehicle] stop

Voir aussi

falsemot clé de l'expression primaire 
Utilisation
false

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Valeur booléenne false. Une valeur booléenne est soit true soit false. L'opposé de false est true.

Lorsque le typage automatique de données convertit false en nombre, il renvoie 0. Lorsqu'il convertit false en chaîne, il renvoie "false".

Remarque : la chaîne "false" est convertie en valeur booléenne true.


Exemple
Utilisation des exemples
Cet exemple montre comment le typage automatique de données convertit false en nombre et en chaîne :
var bool1:Boolean = Boolean(false);

// converts it to the number 0
trace(1 + bool1); // outputs 1

// converts it to a string
trace("String: " + bool1); // outputs String: false

L'exemple suivant montre que la chaîne "false" est convertie en valeur booléenne true :

trace(Boolean("false")); // output: true

if ("false") {
    trace("condition expression evaluated to true");
}
else {
    trace("condition expression evaluated to false");
}
// output: condition expression evaluated to true

Voir aussi

finalmot-clé d'attribut 
Utilisation
final function methodName() { 
	// your statements here 
}
final class className {}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Permet de spécifier qu'une méthode ne peut pas être remplacée ou qu'une classe ne peut pas être étendue. Toute tentative de remplacement d'une méthode ou d'extension d'une classe avec la mention final renvoie une erreur.

Paramètres
methodName:Function — Nom de la méthode qui ne peut pas être remplacée.
className:Class — Nom de la classe qui ne peut pas être étendue.

Voir aussi

flash_proxynamespace 

Définit les méthodes de la classe Proxy. Les méthodes de la classe Proxy figurent dans leur propre espace de nom pour prévenir les risques de confusion lorsque vos sous-classes Proxy contiennent des noms de méthode d'occurrence identiques aux noms des méthodes de classe Proxy.

Voir aussi

forinstruction 
Utilisation
for ([init]; [condition]; [next]) { 
	// statement(s)
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Evalue l'expression init (initialiser) une fois, puis amorce une séquence de bouclage. La séquence de bouclage commence par évaluer l'expression condition. Si l'expression condition renvoie true, statement est exécuté et next est évalué. La séquence de bouclage reprend par l'évaluation de l'expression condition.

Les accolades ({}) qui entourent le bloc d'instructions à exécuter avec l'instruction for sont facultatives si une seule instruction doit s'exécuter.

Paramètres
init — Expression facultative à évaluer avant d'amorcer la séquence de bouclage ; généralement une expression d'affectation. Ce paramètre autorise également une instruction var.
condition — Expression facultative à évaluer avant d'amorcer la séquence de bouclage ; généralement une expression de comparaison. Lorsque l'expression renvoie true, les instructions associées à l'instruction for sont exécutées.
next — Expression facultative à évaluer après la séquence de bouclage ; généralement une expression de type incrément ou décrément.

Exemple
Utilisation des exemples
L'exemple suivant utilise l'instruction for pour ajouter les éléments dans un tableau :
var my_array:Array = new Array(); 
for (var i:Number = 0; i < 10; i++) { 
    my_array[i] = (i + 5) * 10;  
} 
trace(my_array); // output: 50,60,70,80,90,100,110,120,130,140 
L'exemple suivant utilise l'instruction for pour effectuer la même action à plusieurs reprises. Dans le code, la boucle for ajoute les nombres de 1 à 100.
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) { 
    sum += i; 
} 
trace(sum); // output: 5050
L'exemple suivant montre que les accolades ({}) ne sont pas nécessaires si une seule instruction s'exécute :
var sum:Number = 0; 
for (var i:Number = 1; i <= 100; i++) 
    sum += i; 
trace(sum); // output: 5050

Voir aussi

for..ininstruction 
Utilisation
for (variableIterant:String in object){ 
	// statement(s)
} 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Répète en boucle les propriétés dynamiques d'un objet ou d'éléments de tableau, puis exécute l'instruction statement pour chaque propriété ou élément. Les propriétés des objets n'étant pas conservées dans un ordre particulier, elles peuvent apparaître aléatoirement. Les propriétés fixes, telles que les variables et les méthodes définies dans une classe ne sont pas énumérées par l'instruction for..in. Pour obtenir la liste des propriétés fixes, utilisez la fonction describeType(), qui figure dans le package flash.utils.

Paramètres
variableIterant:String — Nom d'une variable devant servir d'itérant, référençant chaque propriété d'un objet ou d'un élément dans un tableau.

Exemple
Utilisation des exemples
L'exemple suivant utilise une boucle for..in sur les propriétés d'un objet :
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var prop in myObject) { 
    trace("myObject."+prop+" = "+myObject[prop]); 
} 
/* output:
myObject.firstName = Tara 
myObject.age = 27 
myObject.city = San Francisco
*/
L'exemple suivant utilise l'opérateur typeof avec for..in pour créer une itération sur un type d'enfant spécifique :
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var name in myObject) { 
    if (typeof (myObject[name]) == "string") { 
        trace("I have a string property named "+name); 
    } 
}
/* output:
I have a string property named city
I have a string property named firstName
*/

Voir aussi

for each..ininstruction 
Utilisation
for each (variableIterant in object){ 
	// statement(s)
} 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Procède à une itération sur les éléments d'une collection et exécute statement pour chaque élément. L'instruction for each..in a été introduite dans le cadre des extensions de langage E4X et peut être utilisée non seulement pour les objets XML, mais encore pour les objets et les tableaux. L'instruction for each..in procède à une itération uniquement pour les propriétés dynamiques d'un objet et non pas les propriétés fixes. Une propriété fixe est une propriété qui est définie dans le cadre d'une définition de classe. Pour utiliser l'instruction for each..in avec une occurrence de classe définie par l'utilisateur, vous devez déclarer cette classe avec l'attribut dynamic.

Contrairement à l'instruction for..in, l'instruction for each..in procède à des itérations sur les valeurs des propriétés d'un objet et non pas sur les noms de propriétés.

Paramètres
variableIterant:* — Nom de la variable devant servir d'itérant et référençant l'élément dans une collection.
object:Object — Nom de la collection qui subit l'itération. La collection peut être un objet XML, un objet générique ou un tableau.

Exemple
Utilisation des exemples
L'exemple suivant a recours à une boucle for each..in pour procéder à une itération sur les valeurs des propriétés d'un objet :
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for each (var item in myObject) { 
    trace(item); 
} 
/* output:
Tara
27
San Francisco
*/
L'exemple suivant utilise une boucle for each..in sur les éléments d'un tableau :
var myArray:Array = new Array("one", "two", "three"); 
for each(var item in myArray) 
    trace(item); 
/* output: 
one
two
three
*/
L'exemple suivant utilise l'opérateur is avec for each..in pour créer une itération sur un type d'enfant spécifique :
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for each (var item in myObject) { 
    if (item is String) {  
        trace("I have a string property with value " + item); 
    } 
}

/* output:
I have a string property with value Tara
I have a string property with value San Francisco
*/
L'exemple suivant indique comment utiliser for each..in pour appliquer une itération aux propriétés d'un objet XMLList (doc.p) :
var doc:XML = 
        <body>
            <p>Hello</p>
            <p>Hola</p>
            <hr />
            <p>Bonjour</p>
        </body>;
for each (var item in doc.p) {
    trace(item);
}

/* output:
Hello
Hola
Bonjour
*/

Voir aussi

functionmot clé de définition 
Utilisation
function functionName([parameter0, parameter1,...parameterN]) : returnType{ 
	// statement(s) 
} 
var functionName:Function = function ([parameter0, parameter1,...parameterN]) : returnType{ 
	// statement(s) 
} 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Comprend un ensemble d'instructions que vous définissez pour effectuer une certaine tâche. Vous pouvez définir une fonction à un emplacement et l'appeler à partir de différents scripts dans un fichier SWF. Lorsque vous définissez une fonction, vous pouvez également lui attribuer des paramètres. Les paramètres sont des espaces réservés pour les valeurs sur lesquelles la fonction agit. A chaque appel, vous pouvez transmettre des paramètres différents à une fonction de façon à pouvoir l'utiliser dans différentes situations.

Utilisez l'instruction return dans le bloc statement(s) d'une fonction pour lui faire générer ou renvoyer une valeur.

Vous pouvez utiliser le mot-clé function pour définir une fonction avec le nom, les paramètres et les instructions requis. Lorsqu'un script appelle une fonction, les instructions figurant dans sa définition s'exécutent. Les références anticipées sont autorisées. Dans un même script, une fonction peut être déclarée après son appel. Chaque définition de fonction remplace toute définition précédente de la même fonction. Vous pouvez utiliser cette syntaxe dans tous les cas où une instruction est autorisée.

Utilisation 2 : Vous pouvez également utiliser function pour créer une fonction anonyme et lui renvoyer une référence. Cette syntaxe est utilisée dans des expressions et est particulièrement pratique pour l'installation de méthodes dans les objets.

Pour bénéficier de fonctionnalités supplémentaires, utilisez l'objet arguments dans la définition de votre fonction. Certaines utilisations courantes de l'objet arguments créent une fonction qui accepte un nombre variable de paramètres et créent une fonction anonyme récursive.

Paramètres
functionName:Function — Nom de la nouvelle fonction.
returnType:* — Type de données de la valeur renvoyée.

Exemple
Utilisation des exemples
L'exemple suivant définit la fonction sqr, qui renvoie la valeur d'un nombre au carré :
function sqr(xNum:Number) { 
    return Math.pow(xNum, 2); 
} 
var yNum:Number = sqr(3); 
trace(yNum); // output: 9
Si la fonction est définie et utilisée dans le même script, sa définition peut apparaître après son utilisation :
var yNum:Number = sqr(3); 
trace(yNum); // output: 9 
function sqr(xNum:Number) { 
    return Math.pow(xNum, 2); 
}

Voir aussi

getmot clé de définition 
Utilisation
function get property() : returnType{ 
	// your statements here 
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Définit une méthode de lecture qui peut être lue comme une propriété. Une méthode de lecture est une méthode spéciale qui définit la valeur d'une propriété déclarée avec le mot-clé var ou const. Contrairement aux autres méthodes, la méthode de lecture est appelée sans parenthèses (()), ce qui la fait ressembler à une variable.

Les méthodes de lecture permettent d'appliquer le principe de dissimulation des informations en créant une interface publique pour une propriété privée. L'avantage de la dissimulation des informations est que l'interface publique reste telle quelle, même si la propriété privée sous-jacente change.

Un autre avantage des méthodes de lecture est qu'elles peuvent être remplacées dans des sous-classes, tandis que les propriétés déclarées avec var ou const sont irremplaçables.

Une méthode de lecture peut être combinée avec une méthode de définition pour former une propriété en lecture/écriture. Pour créer une propriété en lecture/écriture, créez une méthode de lecture sans méthode de définition correspondante. Pour créer une propriété en lecture seule, créez une méthode de définition sans méthode de lecture correspondante.

Remarque : Pour utiliser ce mot-clé, vous devez spécifier ActionScript 2.0 et Flash Player 6 ou une version plus récente dans l'onglet Flash de la boîte de dialogue Paramètres de publication de votre fichier FLA. Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions.

Paramètres
property:* — L'identificateur de la propriété à laquelle get accède. Cette valeur doit correspondre à la valeur utilisée dans la commande set correspondante.
returnType:* — Type de données de la valeur renvoyée.

Exemple
Utilisation des exemples
L'exemple suivant définit une classe Team. La classe Team inclut les méthodes de lecture et définition qui permettent de récupérer et de définir des propriétés au sein de la classe :
package {
    public class Team { 
        var teamName:String; 
        var teamCode:String; 
        var teamPlayers:Array = new Array(); 
        public function Team(param_name:String, param_code:String) { 
            teamName = param_name; 
            teamCode = param_code; 
        } 
        public function get name():String { 
            return teamName; 
        } 
        public function set name(param_name:String):void { 
            teamName = param_name; 
        }
    } 
}
Entrez le code suivant dans votre script :
var giants:Team = new Team("San Fran", "SFO"); 
trace(giants.name); 
giants.name = "San Francisco"; 
trace(giants.name); 
/* output: 
San Fran San Francisco */

Lorsque vous surveillez giants.name, vous utilisez une méthode de lecture pour renvoyer la valeur de cette propriété.

Voir aussi

ifinstruction 
Utilisation
if (condition) {
	// statement(s)
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Evalue une condition pour déterminer la prochaine instruction à exécuter. Lorsque cette condition est true, Flash Player exécute les instructions qui suivent la condition entre accolades ({}). Si la condition est false, Flash Player ignore les instructions entre accolades et exécute les instructions qui suivent ces accolades. Utilisez l'instruction if avec l'instruction else pour mettre en place une logique conditionnelle.

Les accolades ({}) qui entourent les instructions à exécuter avec l'instruction if sont facultatives si une seule instruction doit s'exécuter.

Paramètres
condition:Boolean — Une expression qui renvoie true ou false.

Voir aussi

implementsmot clé de définition 
Utilisation
myClass implements interface01 [, interface02, ...] 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie qu'une classe implémente une ou plusieurs interfaces. Lorsqu'une classe implémente une interface, la classe doit définir toutes les méthodes qui y sont déclarées. Toute occurrence de classe qui implémente une interface est considérée comme un membre du type de données défini par l'interface. Par conséquent, l'opérateur is renvoie true lorsque l'occurrence de classe correspond au premier opérande et l'interface au deuxième. En outre, les coercitions de type depuis et vers le type de données défini par l'interface fonctionnent.

Remarque : Pour utiliser ce mot-clé, vous devez spécifier ActionScript 2.0 et Flash Player 6 ou une version plus récente dans l'onglet Flash de la boîte de dialogue Paramètres de publication de votre fichier FLA. Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions.

Voir aussi

importdirective 
Utilisation
import packageName.className 
import packageName.*

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Rend les classes et les packages définis en externe disponibles pour votre code. Par exemple, vous devez importer la classe flash.display.Sprite avant de pouvoir l'utiliser dans un script. Cette condition diffère des versions précédentes d'ActionScript, pour lesquelles la directive import était facultative.

Après avoir utilisé la directive import, vous pouvez utiliser le nom de classe complet, qui comprend le nom du package, ou simplement le nom de la classe.

 
import flash.display.Sprite; 

// name of class only
var mySprite:Sprite = new Sprite();

// full class name
var mySprite:flash.display.Sprite = new flash.display.Sprite();

Lorsque le package contient plusieurs classes auxquelles vous souhaitez accéder, vous pouvez les importer avec une seule instruction, comme dans l'exemple suivant :

import flash.display.*;

La directive import importe uniquement les classes, les fonctions et les variables qui résident au niveau supérieur du package importé. Les packages imbriqués doivent être importés de façon explicite.

Si vous importez une classe, mais ne l'utilisez pas dans votre script, elle n'est pas exportée avec le fichier SWF. Ceci signifie que vous pouvez importer des packages volumineux sans vous soucier de la taille du fichier SWF. Le pseudo-code binaire associé à une classe n'est inclus dans un fichier SWF que si cette classe est véritablement utilisée. L'un des inconvénients de l'importation de classes superflues est que vous augmentez les risques de confusion des noms.

La import directive s'applique uniquement au script courant (image ou objet) d'où elle est appelée. Par exemple, supposons que vous deviez importer l'ensemble des classes du package adobe.example dans l'image 1 d'un document Flash. Dans cette image, vous pouvez faire référence aux classes de ce package par leur nom simple :

// On Frame 1 of a FLA: 
import adobe.example.*; 
var myFoo:foo = new foo();

Dans une autre script, cependant, vous devez référencer les classes de ce package en fonction de leur nom complet (var myFoo:foo = new adobe.example.foo();) ou ajouter une directive import à l'autre script qui importe les classes dans ce package.

Paramètres
packageName:* — Nom du package que vous avez défini dans un fichier de classe distinct.
className:Class — Nom d'une classe que vous avez définie dans un fichier de classe distinct.

Voir aussi

includedirective 
Utilisation
include "[path]filename.as"

Inclut le contenu du fichier spécifié, comme si les commandes du fichier faisaient partie du script d'appel. La directive include est appelée lors de la compilation. Cela signifie que si vous apportez des modifications à un fichier inclus, vous devez l'enregistrer, puis recompiler tous les fichiers SWF qui l'utilisent.

Voir aussi

interfacemot clé de définition 
Utilisation
 interface InterfaceName [extends InterfaceName ] {}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Définit une interface. Les interfaces sont des types de données qui définissent un ensemble de méthodes. Les méthodes doivent être définies par les classes qui implémentent l'interface.

Une interface est similaire à une classe. Les différences fondamentales sont regroupées ci-dessous :

  • Les interfaces contiennent uniquement les déclarations des méthodes, pas leur implémentation. Ainsi, toute classe qui implémente une interface doit fournir une implémentation pour chaque méthode déclarée dans l'interface.
  • Les définitions de méthode d'interface ne peuvent pas avoir d'attributs tels que public ou private. Par contre, les méthodes implémentées doivent être marquées comme public dans la définition de la classe qui implémente l'interface.
  • Des interfaces multiples peuvent être héritées par une interface à l'aide de l'instruction extends ou à l'aide d'une classe avec l'instruction implements.

Contrairement à ActionScript 2.0, ActionScript 3.0 permet d'utiliser les méthodes de lecture/définition dans les définitions d'interface.

Remarque : Pour utiliser ce mot-clé, vous devez spécifier ActionScript 2.0 et Flash Player 6 ou une version plus récente dans l'onglet Flash de la boîte de dialogue Paramètres de publication de votre fichier FLA. Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions.

Voir aussi

internalmot-clé d'attribut 
Utilisation
[internal] var varName
[internal] const kName
[internal] function functionName()  { 
	// your statements here 
}
[internal] class className{
	// your statements here 
}
[internal] namespace nsName

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Permet de spécifier si une classe, une variable, une constante ou une fonction est disponible pour tous les appels au sein du même package. Les classes, propriétés et méthodes appartiennent à l'espace de nom internal par défaut.

Paramètres
className:Class — Nom de la classe à spécifier en tant qu'interne.
varName:* — Nom de la variable à spécifier en tant qu'interne. Vous pouvez appliquer l'attribut internal que la variable fasse partie d'une classe ou non.
kName:* — Nom de la constante à spécifier en tant qu'interne. Vous pouvez appliquer l'attribut internal que la constante fasse partie d'une classe ou non.
functionName:Function — Nom de la fonction ou méthode à spécifier en tant qu'interne. Vous pouvez appliquer l'attribut internal que la fonction fasse partie d'une classe ou non.
nsName:Namespace — Nom de l'espace de nom à spécifier en tant qu'interne. Vous pouvez appliquer l'attribut internal que l'espace de nom fasse partie d'une classe ou non.

Voir aussi

labelinstruction 
Utilisation
label: statement
label: {
    statements
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Associe une instruction à un identificateur qui peut être référencé par break ou continue. Dans les boucles imbriquées, une instruction break ou continue. qui ne référence pas une étiquette peut ignorer uniquement le reste de la boucle en cours et n'ignore pas la série entière de boucles. Cependant, si l'instruction qui définit toute la série de boucles est associée à une étiquette break ou continue peut ignorer la série entière de boucles en référençant cette étiquette.

Les étiquettes permettent également de fractionner une instruction de bloc. Vous ne pouvez pas placer une instruction break qui ne référence pas une étiquette dans une instruction de bloc sauf si cette dernière fait partie d'une boucle. Si une étiquette est associée à l'instruction de bloc, vous pouvez placer une instruction break qui se réfère à cette étiquette dans l'instruction de bloc.

Paramètres
label:* — Un identificateur valide à associer à une instruction.
statements:* — Instruction à associer à l'étiquette.

Exemple
Utilisation des exemples
L'exemple suivant indique comment utiliser une étiquette en conjonction avec une boucle imbriquée pour sortir de la série de boucles. Le code utilise une boucle imbriquée pour générer une liste de nombres, de 0 à 99. L'instruction break intervient juste avant que le décompte atteigne 80. Si l'instruction break n'avait pas utilisé l'étiquette outerLoop, le code ignore uniquement le reste de la boucle concernée et continue à générer les numéros 90 à 99. Cependant, dans la mesure où l'étiquette outerLoop est utilisée, l'instruction break ignore le reste de la série de boucles et le dernier numéro généré est 79.
outerLoop: for (var i:int = 0; i < 10; i++) {
    for (var j:int = 0; j < 10; j++) {
        if ( (i == 8) && (j == 0)) {
            break outerLoop;
        }
        trace(10 * i + j);
    }
}
/* output:
1
2
...
79
*/

L'exemple suivant montre comment utiliser une étiquette dans une instruction de bloc. Dans l'exemple suivant, une instruction de bloc est appelée foo, ce qui permet à l'instruction break d'ignorer la dernière instruction du bloc :

foo: {
    trace("a");
    break foo;
    trace("b");
}
// output: a

Voir aussi

namespacemot clé de définition 
Utilisation
namespace name [= uri]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Permet de contrôler la visibilité des définitions. Les noms d'espace prédéfinis incluent public, private, protected et internal (ces noms d'espace sont également appelés " spécificateurs de contrôle d'accès " et également abordés dans la documentation dans la section " Attributs de propriété de classe " également). Si les espaces de nom prédéfinis ne satisfont pas vos besoins, vous pouvez définir un espace de nom personnalisé.

La procédure suivante indique comment créer, appliquer et référencer un espace de nom personnalisé :

  • Tout d'abord, définissez l'espace de nom personnalisé à l'aide du mot-clé namespace. Par exemple, le code namespace version1 crée un nom d'espace appelé version1.
  • Ensuite, appliquez l'espace de nom à une propriété ou une méthode en incluant votre espace de nom dans la déclaration de propriété ou de méthode. Par exemple, le code version1 myProperty:String crée une propriété appelée myProperty qui appartient au nom d'espace version1.
  • Enfin, référencez l'espace de nom à l'aide du mot-clé use ou en utilisant l'espace de nom en tant que préfixe d'identificateur. Par exemple, le code use namespace version1; référence l'espace de nom version1 pour les lignes de code suivantes et le code version1::myProperty référence l'espace de nom version1 pour la propriété myProperty.

Paramètres
name:Namespace — Nom de l'espace de nom, qui peut correspondre à tout identificateur valide.
uri:String — URI (Uniform Resource Identifier) de l'espace de nom. Ce paramètre est facultatif.

Voir aussi

nativemot-clé d'attribut 
Utilisation
native function functionName();
class className { 
	native function methodName();
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Permet de spécifier si une fonction ou méthode doit être implémentée par Flash Player en code natif. Flash Player utilise le mot-clé native en interne pour déclarer des fonctions et des méthodes dans l'API d'ActionScript. Ce mot-clé ne peut pas être utilisé dans votre propre code.

nullmot clé de l'expression primaire 
Utilisation
null

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Valeur spéciale qui peut être affectée à des variables ou renvoyée par une fonction en l'absence de données. Vous pouvez utiliser null pour représenter les valeurs manquantes ou dont le type de données n'est pas défini.

La valeur null ne doit pas être confondue avec la valeur spéciale undefined. 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.


Exemple
Utilisation des exemples
L'exemple suivant vérifie les six premières valeurs d'un tableau indexé et renvoie un message si aucune valeur n'est définie (si value == null) :

var testArray:Array = new Array();
testArray[0] = "fee";
testArray[1] = "fi";
testArray[4] = "foo";

for (i = 0; i < 6; i++) {
    if (testArray[i] == null) {
        trace("testArray[" + i + "] == null");
    }
}

/* output: 
testArray[2] == null
testArray[3] == null
testArray[5] == null
*/

Voir aussi

object_proxynamespace 

Définit les méthodes de la classe ObjectProxy. Les méthodes de la classe ObjectProxy figurent dans leur propre espace de nom pour prévenir les risques de confusion lorsque vos sous-classes Proxy contiennent des noms de méthode d'occurrence identiques aux noms des méthodes de la classe Proxy.

overridemot-clé d'attribut 
Utilisation
override function name() { 
	// your statements here 
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie une méthode qui remplace une méthode héritée. Pour remplacer une méthode héritée, vous devez utiliser l'attribut override et vous assurer que le nom, le nombre et le type de paramètres, ainsi que le type renvoyé concordent. Toute tentative de remplacement de méthode sans l'attribut override renvoie une erreur. De même, le fait d'utiliser l'attribut override lorsque la méthode ne dispose pas de méthode héritée correspondante renvoie une erreur.

Vous ne pouvez pas utiliser l'attribut override avec les éléments suivants :

  • Variables
  • Constantes
  • Méthodes statiques
  • Méthodes non héritées
  • Méthodes implémentant une méthode d'interface
  • Méthodes héritées avec la mention final dans la super-classe

Vous ne pouvez pas bloquer une propriété déclarée avec var ou const, cependant vous pouvez obtenir une fonctionnalité similaire en transformant la propriété de la classe de base en propriété de lecture/définition et en bloquant les méthodes définies avec get et set.

Paramètres
name:Function — Nom de la méthode à remplacer.

Voir aussi

packagemot clé de définition 
Utilisation
package packageName {
    class someClassName { 
    } 
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Permet de répartir votre code dans des groupes de petite taille qui peuvent être importés par d'autres scripts. Vous devez utiliser le mot-clé package pour indiquer si une classe appartient à un package.

Paramètres
packageName:* — Nom du package.

Voir aussi

privatemot-clé d'attribut 
Utilisation
class className{ 
	private var varName;
	private const kName;
	private function methodName() { 
		// your statements here 
	}
	private namespace nsName;
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie qu'une variable, une constante ou une méthode est disponible uniquement pour la classe qui la déclare ou la définit. Contrairement à ActionScript 2.0, ActionScript 3.0 private ne donne plus accès aux sous-classes. De plus, private limite l'accès lors de la compilation et de l'exécution. Par défaut, une variable ou une fonction est disponible à tout appelant dans le même package. Utilisez ce mot-clé si vous devez restreindre l'accès à une variable ou une fonction.

Ce mot-clé est réservé aux définitions de classe et ne permet pas de créer des définitions d'interface. Vous ne pouvez pas appliquer private à une classe ou toute autre définition au niveau du package.

Paramètres
varName:* — Nom de la variable à spécifier en tant que privée. Vous ne pouvez appliquer l'attribut private que si la variable est à l'intérieur d'une classe.
kName:* — Nom de la constante à spécifier en tant que privée. Vous ne pouvez appliquer l'attribut private que si la constante est à l'intérieur d'une classe.
methodName:Function — Nom de la méthode à spécifier en tant que privée. Vous ne pouvez appliquer l'attribut private que si la méthode est à l'intérieur d'une classe.
nsName:Namespace — Nom de l'espace de nom que vous souhaitez spécifier en tant que privé. Vous ne pouvez appliquer l'attribut private que si l'espace de nom est à l'intérieur d'une classe.

Exemple
Utilisation des exemples
L'exemple suivant démontre comment masquer certaines propriétés au sein d'une classe à l'aide du mot-clé private.
class A { 
  private var alpha:String = "visible only inside class A"; 
  public var beta:String = "visible everywhere"; 
}
    
class B extends A {
  function B() {
    alpha = "Access attempt from subclass"; // error
  }
}

Dans la mesure où alpha est une variable privée, vous ne pouvez pas y accéder en dehors de la classe A, ni même depuis la sous-classe B. Toute tentative d'accès à la variable privée génère une erreur.

Voir aussi

protectedmot-clé d'attribut 
Utilisation
class className{ 
	protected var varName;
	protected const kName;
	protected function methodName() { 
		// your statements here 
	}
	protected namespace nsName;
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie qu'une variable, une constante, méthode ou espace de nom est disponible uniquement pour la classe qui la définit et pour toutes les sous-classes de cette classe. La définition de protected dans ActionScript 3.0 est similaire à la définition de la version ActionScript 2.0 de private, à la différence que protected limite l'accès pendant la compilation et l'exécution. Par défaut, une variable ou une fonction est disponible à tout appelant dans le même package. Utilisez ce mot-clé si vous devez restreindre l'accès à une variable ou une fonction.

Ce mot-clé est réservé aux définitions de classe et ne permet pas de créer des définitions d'interface. Vous ne pouvez pas appliquer private à une classe ou toute autre définition au niveau du package.

La définition de protected dans ActionScript 3.0 est plus restrictive que celle de protected dans le langage de programmation Java. Dans ActionScript 3.0 protected limite l'accès de façon stricte aux sous-classes, tandis que dans Java protected autorise également l'accès à toute classe du même package. Par exemple, si une classe appelée Base contient une propriété marquée comme protected, dans ActionScript 3.0, seules les classes qui étendent Base peuvent accéder à la propriété protégée. Sous Java, toute classe appartenant au même package que Base peut accéder à la propriété protégée, même si la classe n'est pas une sous-classe de Base.

Paramètres
varName:* — Nom de la variable à spécifier en tant que protégée. Vous ne pouvez appliquer l'attribut protected que si la variable est à l'intérieur d'une classe.
kName:* — Nom de la constante à spécifier en tant que protégée. Vous ne pouvez appliquer l'attribut protected que si la constante est à l'intérieur d'une classe.
methodName:Function — Nom de la méthode à spécifier en tant que protégée. Vous ne pouvez appliquer l'attribut protected que si la méthode est à l'intérieur d'une classe.
nsName:Namespace — Nom de l'espace de nom à spécifier en tant que protégé. Vous ne pouvez appliquer l'attribut protected que si l'espace de nom est à l'intérieur d'une classe.

Exemple
Utilisation des exemples
L'exemple suivant crée une variable de classe protégée dans la classe A et parvient à accéder à cette variable dans la classe B, car cette classe est une sous-classe de la classe A.
class A { 
  private var alpha:String = "visible only inside class A"; 
  protected var beta:String = "visible inside class A and its subclasses"; 
}
    
class B extends A {
  public function B() {
    beta = "Access attempt from subclass succeeded";
    trace(beta);  // output: Access attempt from subclass succeeded
  }
}

Voir aussi

publicmot-clé d'attribut 
Utilisation
public var varName
public const kName
public function functionName()  { 
	// your statements here 
}
public class className {
	// your statements here 
}
public namespace nsName

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Permet de spécifier si une classe, une variable, une constante ou une méthode est disponible pour tous les appels. Les classes, les variables et les méthodes sont internes par défaut, ce qui signifie qu'elles ne sont visibles qu'au sein du package actif. Pour rendre une classe, variable ou méthode visible à l'ensemble des appels, vous devez utiliser l'attribut public.

Paramètres
className:Class — Nom de la classe à spécifier en tant que publique.
varName:* — Nom de la variable à spécifier en tant que publique. Vous pouvez appliquer l'attribut public que la variable fasse partie d'une classe ou non.
kName:* — Nom de la constante à spécifier en tant que publique. Vous pouvez appliquer l'attribut public que la constante fasse partie d'une classe ou non.
functionName:Function — Nom de la fonction ou méthode à spécifier en tant que publique. Vous pouvez appliquer l'attribut public que la fonction fasse partie d'une classe ou non.
nsName:Namespace — Nom de l'espace de nom que vous souhaitez spécifier en tant que public. Vous pouvez appliquer l'attribut public que l'espace de nom fasse partie d'une classe ou non.

Exemple
Utilisation des exemples
L'exemple suivant indique comment utiliser des variables publiques dans un fichier de classe :
class User { 
    public var age:Number; 
    public var fname:String; 
} // end of class User definition
 
var jimmy:User = new User(); 
jimmy.age = 27; 
jimmy.fname = "jimmy";
trace(jimmy.age, jimmy.fname); // output: 27 jimmy

Si vous transformez l'une des variables publiques de la classe User en variable privée, toute tentative d'accès à cette classe en dehors de la classe User génère une erreur de compilation.

Voir aussi

returninstruction 
Utilisation
function functionName () {
	return [expression]
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Transfère immédiatement l'exécution à la fonction appelante. Si l'instruction return est suivie par une expression, cette dernière est évaluée et le résultat est renvoyé.

Si une définition de fonction inclut un type de renvoi, l'instruction return doit être suivie par une expression. Si aucun type de renvoi n'est spécifié et si l'instruction return est utilisée individuellement, elle renvoie undefined.

Vous ne pouvez pas renvoyer des valeurs multiples. En effet, seule la dernière valeur est renvoyée. Dans l'exemple suivant, c est renvoyé :

return a, b, c ;

Si vous devez renvoyer des valeurs multiples, utilisez de préférence un tableau ou un objet.

Paramètres
expression:* — Expression à évaluer et renvoyer en tant que valeur de la fonction. Ce paramètre est facultatif.

Résultat
* — Paramètre expression après évaluation, si disponible.

Exemple
Utilisation des exemples
L'exemple suivant utilise l'instruction return dans le corps de la fonction sum() pour renvoyer la valeur ajoutée des trois paramètres. La ligne de code suivante appelle sum() et affecte la valeur renvoyée à la variable newValue.
function sum(a:Number, b:Number, c:Number):Number { 
    return (a + b + c); 
} 
var newValue:Number = sum(4, 32, 78); 
trace(newValue); // output: 114

Voir aussi

setmot clé de définition 
Utilisation
function set property(newValue:*) : void{ 
	// your statements here 
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Définit une méthode de définition, méthode qui s'affiche dans l'interface publique en tant que propriété. Une méthode de définition est une méthode spéciale qui définit la valeur d'une propriété déclarée avec le mot-clé var. Contrairement aux autres méthodes, la méthode de définition est appelée sans parenthèses (()), ce qui la fait ressembler à une variable.

Les méthodes de définition permettent d'appliquer le principe de dissimulation des informations en créant une interface publique pour une propriété privée. L'avantage de la dissimulation des informations est que l'interface publique reste telle quelle, même si la propriété privée sous-jacente change.

Un autre avantage des méthodes de définition est qu'elles peuvent être remplacées dans des sous-classes, tandis que les propriétés déclarées avec var sont irremplaçables.

Le type de renvoi d'une méthode de définition doit être void ou non spécifié.

Une méthode de définition peut être combinée avec une méthode de lecture pour former une propriété en lecture/écriture. Pour créer une propriété en lecture/écriture, créez une méthode de lecture sans méthode de définition correspondante. Pour créer une propriété en lecture seule, créez une méthode de définition sans méthode de lecture correspondante.

Remarque : Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions.

Paramètres
property:* — L'identificateur de la propriété que set modifie. Cette valeur doit correspondre à la valeur utilisée dans la commande get correspondante.
newValue:* — Nouvelle valeur à affecter.

Exemple
Utilisation des exemples
L'exemple suivant crée une propriété en lecture/écriture appelée age en définissant une méthode de lecture/définition.
package {
    class User { 
        private var userAge:Number; 
        
        public function get age():Number {
            return userAge;
        }
        
        public function set age(x:Number):void {
            userAge = x;    
        }
    } 
} 
Entrez le code suivant dans votre script :
var myUser:User = new User();
myUser.age = 25;
trace(myUser.age); // output: 25

Voir aussi

staticmot-clé d'attribut 
Utilisation
class someClassName{ 
	static var varName; 
	static const kName;
	static function methodName() { 
		// your statements here
	} 
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Permet de spécifier qu'une variable, constante ou méthode appartient à la classe, et non pas aux occurrences de la classe.

Pour accéder à un membre de classe statique, utilisez le nom de la classe et non pas le nom de l'occurrence. Par exemple, la classe Date comporte une méthode statique appelée parse(), qui peut être uniquement appelée à l'aide de la syntaxe suivante :

Date.parse()

La méthode parse() ne peut pas être appelée pour une occurrence de la classe Date. Par exemple, le code suivant génère une erreur :

var myDate:Date = new Date();
			myDate.parse("Jan 01 00:00:00 2006"); // error

Vous pouvez utiliser static uniquement dans les définitions de classe et non pas dans les définitions d'interface.

Les membres de classes statiques ne sont pas hérités. Vous ne pouvez pas faire référence à un membre de classe statique à l'aide du nom d'une sous-classe, comme c'est possible dans Java ou C++. Vous pouvez, cependant, faire référence à une variable statique ou une méthode appartenant à une classe ou une sous-classe, sans avoir recours à des qualificateurs. Voir l'exemple ci-dessous.

Vous ne pouvez pas utiliser l'instruction super ou le mot-clé this dans une méthode statique.

Remarque : Ce mot-clé n'est pris en charge que lorsqu'il est utilisé dans des fichiers de script externes, et non pas dans les scripts écrits dans le panneau Actions.

Paramètres
varName:* — Nom de la variable à spécifier en tant que statique.
kName:* — Nom de la constante à spécifier en tant que statique.
methodName:Function — Nom de la méthode à spécifier en tant que statique.

Exemple
Utilisation des exemples
L'exemple suivant présente l'utilisation du mot-clé static pour créer un compteur chargé de suivre le nombre d'occurrences de la classe qui ont été créées. La variable numInstances étant statique, elle ne sera créée qu'une fois pour l'ensemble de la classe, pas pour chaque occurrence. Créez un nouveau fichier ActionScript intitulé Users.as et entrez le code suivant :
class Users { 
    private static var numInstances:Number = 0; 
    function Users() { 
        numInstances++; 
    } 
    static function get instances():Number { 
        return numInstances; 
    } 
}
Entrez le code suivant dans votre script :
trace(Users.instances); 
var user1:Users = new Users(); 
trace(Users.instances); 
var user2:Users = new Users(); 
trace(Users.instances); 
L'exemple suivant étend la classe Users pour indiquer que les variables statiques et les méthodes ne sont pas héritées, mais peuvent être référencées dans des sous-classes.
class PowerUsers extends Users{
    function PowerUsers() {
        instances++;  // unqualified reference to static property Users.instances is legal
    }
}

trace(PowerUsers.instances); // error, cannot access static property using PowerUsers class

Voir aussi

superinstruction 
Utilisation
super([arg1, ..., argN])
super.method([arg1, ..., argN])

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Invoque la version super-classe ou parent d'une méthode ou d'un constructeur. Lorsque l'instruction super() est utilisée dans le corps d'un constructeur de classe, elle appelle la version super-classe du constructeur. L'appel au constructeur de super-classe doit disposer du nombre correct d'arguments. Le constructeur de super-classe est appelé de façon systématique, que vous en ayez fait la demande explicitement ou non. Si vous ne l'appelez pas de façon explicite, un appel sans argument est inséré automatiquement avant la première instruction dans le corps du constructeur de la sous-classe. Ceci signifie que si vous définissez une fonction constructeur dans une sous-classe et si le constructeur de super-classe prend un ou plusieurs arguments, vous devez appeler le constructeur de super-classe de façon explicite, avec le nombre correct d'arguments, faute de quoi une erreur risque de se produire. L'appel au constructeur de super-classe, cependant, ne doit pas nécessairement être la première instruction de votre constructeur de sous-classe, comme cela était le cas avec ActionScript 2.0.

Lorsqu'il est utilisé dans le corps d'une méthode d'occurrence, super peut être utilisé avec le point (.) pour appeler la version superclasse d'une méthode et peut passer des arguments en option (arg1 ... argN) à la méthode superclass. Cet opérateur permet non seulement de créer des méthodes de sous-classe qui ajoutent des comportements supplémentaires aux méthodes superclass, mais encore d'exécuter leur comportement d'origine.

Vous ne pouvez pas utiliser l'instruction super dans une méthode statique.

Paramètres
method:Function — Méthode à appeler dans la super-classe.
argN:* — Paramètres facultatifs qui sont transmis à la version superclass de la méthode ou à la fonction constructeur de la super-classe.

Voir aussi

switchinstruction 
Utilisation
switch (expression) {
	caseClause: 
	[defaultClause:] 
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Transfère le contrôle à une instruction en fonction de la valeur d'une expression. Toutes les instructions switch doivent inclure une instruction case par défaut qui s'exécute si aucune des instructions case ne correspond à l'expression. Chaque instruction case doit se terminer par une instruction break, ce qui permet d'éviter les erreurs de sélection de cas. Lorsque ce type d'erreur se produit, le code est exécuté par la prochaine instruction case, même si elle ne correspond pas à l'expression de test.

Paramètres
expression:* — Toute expression.

Exemple
Utilisation des exemples
L'exemple suivant définit une instruction switch qui est traitée par l'instruction case par défaut :

var switchExpression:int = 3;
        
switch (switchExpression) {
    case 0:
        trace(0);
        break;
    case 1:
        trace(1);
        break;
    case 2:
        trace(2);
        break;
    default:
        trace("Not 0, 1, or 2");
}

// output: Not 0, 1, or 2

Voir aussi

thismot clé de l'expression primaire 
Utilisation
this

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Référence à l'objet contenant une méthode. Lorsqu'un script s'exécute, le mot-clé this fait référence à l'objet qui contient le script. Dans le corps de la méthode, le mot-clé this fait référence à l'occurrence de classe qui contient la méthode appelée.


Exemple
Utilisation des exemples
Pour appeler une fonction définie dans une classe dynamique, vous devez utiliser this pour appeler la fonction dans le domaine adéquat :
// incorrect version of Simple.as
/*
dynamic class Simple {
    function callfunc() {
        func();
    }
}
*/
// correct version of Simple.as
dynamic class Simple {
    function callfunc() {
        this.func();
    }
}
Ajoutez le code suivant dans votre script :
var simpleObj:Simple = new Simple();
simpleObj.func = function() {
    trace("hello there");
}
simpleObj.callfunc();
Le code précédent s'applique lorsque vous utilisez this dans la méthode callfunc(). Cependant, vous obtiendriez une erreur de syntaxe si vous utilisiez la version incorrecte de Simple.as, qui a été commentée dans l'exemple précédent.

Voir aussi

throwinstruction 
Utilisation
throw expression 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Génère ou renvoie une erreur qui peut être traitée, ou niterceptée, par un bloc de code catch. Si aucune exception n'est interceptée par le bloc catch, la chaîne représentant la valeur émise s'affiche dans le panneau Sortie. If an exception is not caught by a catch or finally block, the string representation of the thrown value is sent to the log file.

De manière générale, le système renvoie des occurrences de la classe Error ou de ses sous-classes (voir la section Exemple).

Paramètres
expression:* — Expression ou objet ActionScript.

Exemple
Utilisation des exemples
Dans cet exemple, une fonction intitulée checkEmail() vérifie si la chaîne qui lui est transmise est une adresse électronique correctement formatée. Si la chaîne ne contient pas le symbole @, la fonction renvoie une erreur.
function checkEmail(email:String) { 
    if (email.indexOf("@") == -1) { 
        throw new Error("Invalid email address"); 
    } 
} 
checkEmail("someuser_theirdomain.com");
Le code suivant appelle ensuite la même fonction, checkEmail(), dans un bloc de code try. Si la chaîne ne contient pas une adresse électronique valide, le message d'erreur est renvoyé par l'instruction trace.
try { 
    checkEmail("Joe Smith"); 
} 
catch (e) { 
    trace(e); 
}
// output: Error: Invalid email address.
Dans l'exemple suivant, une sous-classe de la classe Error est émise. La fonction checkEmail() est modifiée pour émettre une occurrence de cette sous-classe.
// Define Error subclass InvalidEmailError 
class InvalidEmailAddress extends Error { 
    public function InvalidEmailAddress() {
        message = "Invalid email address."; 
    }
}
Entrez le code suivant dans votre script :
import InvalidEmailAddress; 
function checkEmail(email:String) { 
    if (email.indexOf("@") == -1) { 
        throw new InvalidEmailAddress(); 
    } 
} 
try { 
    checkEmail("Joe Smith"); 
} 
catch (e) { 
    trace(e);
}
// output: Error: Invalid email address.

Voir aussi

truemot clé de l'expression primaire 
Utilisation
true

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Valeur booléenne true. Une valeur booléenne est soit true soit false. L'opposé de true est false. Lorsque le typage automatique de données convertit true en nombre, il renvoie true. Lorsqu'il convertit "true" en chaîne, il renvoie.


Exemple
Utilisation des exemples
L'exemple suivant illustre l'utilisation de true dans une instruction if :

var shouldExecute:Boolean;
// ...
// code that sets shouldExecute to either true or false goes here
// shouldExecute is set to true for this example:

shouldExecute = true;

if (shouldExecute == true) {
    trace("your statements here");
}

// true is also implied, so the if statement could also be written:
// if (shouldExecute) {
//         trace("your statements here");
// }

L'exemple suivant montre comment le typage automatique de données convertit true en nombre 1 :


var myNum:Number;
myNum = 1 + true;
trace(myNum); // output: 2

Voir aussi

try..catch..finallyinstruction 
Utilisation
try { 
    // try block 
} finally { 
    // finally block  
} 

try { 
    // try block 
} catch(error[:ErrorType1]) {
    // catch block 
} [catch(error[:ErrorTypeN]) { 
    // catch block 
}] [finally {
    // finally block 
}]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Entoure un bloc de code dans lequel une erreur peut se produire et être traitée. Le traitement des exceptions, qui est implémenté à l'aide des instructions try..catch..finally, constitue le principal mécanisme de traitement des erreurs d'exécution d'ActionScript 3.0. Lorsqu'une erreur d'exécution se produit, Flash Player renvoie une exception, ce qui signifie qu'il suspend l'exécution normale et crée un objet spécial de type Error. Flash Player transmet ensuite, ou émets, l'objet error au premier bloc catch disponible. Si aucun bloc catch n'est disponible, l'exception est considérée comme une exception non interceptée. Ce type d'exception interrompt le script.

Vous pouvez utiliser l'instruction throw pour émettre des exceptions de façon explicite dans votre code. Vous pouvez émettre la valeur de votre choix, mais la meilleure pratique consiste à émettre un objet. En effet, cette technique permet de mieux s'adapter au comportement de Flash Player.

Pour intercepter une exception, qu'elle soit émise par Flash Player ou par votre propre code, placez le code susceptible de l'émettre dans un bloc try. Si le code figurant dans le bloc try émet une exception, le contrôle passe au bloc catch, s'il existe, puis au bloc finally, s'il existe. Le bloc finally s'exécute toujours, qu'une exception ait été émise ou non. Si le code du bloc try ne renvoie pas d'exception (si le bloc try se termine normalement), le code du bloc catch est ignoré, mais le code du bloc finally reste exécuté. Le bloc finally s'exécute même si le bloc try se termine à l'aide de l'instruction return.

Un bloc try doit être suivi par un bloc catch, un bloc finally ou les deux. Un bloc unique try peut comporter plusieurs blocs catch, mais ne doit avoir qu'un seul bloc finally. Vous pouvez imbriquer plusieurs blocs try et créer autant de niveaux que nécessaire.

Le paramètre error spécifié dans un gestionnaire catch doit être un identificateur simple tel que e ou theException, ou x. Le paramètre peut également être typé. Utilisés avec plusieurs blocs catch, les paramètres typés permettent d'intercepter plusieurs types d'objets d'erreur émis à partir d'un seul bloc try.

Si l'exception émise est un objet, le type correspond lorsque l'objet émis constitue une sous-classe du type spécifié. Si une erreur de type spécifique est émise, le bloc catch qui traite l'erreur correspondante s'exécute. Si une exception qui n'est pas du type spécifié est émise, le bloc catch n'est pas exécuté et l' exception est transférée automatiquement du bloc try vers un gestionnaire catch.

Si une erreur est émise au sein d'une fonction et que cette fonction n'inclut pas de gestionnaire catch, Flash Player quitte alors cette fonction, ainsi que toute fonction appelante, jusqu'à ce qu'il détecte un bloc catch. Pendant ce processus, les gestionnaires finally sont appelés à tous les niveaux.

Paramètres
error:* — Expression renvoyée par une instruction throw, en général une instance de la classe Error ou l'une de ses sous-classes.

Exemple
Utilisation des exemples
L'exemple ci-dessous illustre une instruction try..catch. Le code du bloc try inclut une opération illégale. Un sprite ne peut pas s'ajouter en tant qu'enfant. Par conséquent, Flash Player émet une exception et transmet un objet de type ArgumentError au bloc catch correspondant.
import flash.display.Sprite;

var spr:Sprite = new Sprite();
try {
    spr.addChild(spr);
}
catch (e:ArgumentError) {
    trace(e); // output: ArgumentError: Error #2024: An object may not be added as a child of itself.
}
Dans l'exemple suivant, les objets RecordSetException et MalformedRecord sont des sous-classes de la classe Error.
class RecordSetException extends Error { 
    public function RecordSetException () {
        message = "Record set exception occurred."; 
    }
}

class MalformedRecord extends Error { 
    public function MalformedRecord {
        message = "Malformed record exception occurred."; 
    }
}
Dans la méthode sortRows() de la classe RecordSet, l'un des objets d'erreur définis précédemment est émis, en fonction du type d'exception rencontré. L'exemple suivant illustre l'aspect éventuel de ce code :
class RecordSet { 
    public function sortRows() { 
        var returnVal:Number = randomNum(); 
        if (returnVal == 1) { 
            throw new RecordSetException(); 
        } 
        else if (returnVal == 2) { 
            throw new MalformedRecord(); 
        } 
    }
    public function randomNum():Number { 
        return Math.round(Math.random() * 10) % 3; 
    }
}
Enfin, le code suivant appelle la méthode sortRows() pour une occurrence de la classe RecordSet. Il définit les blocs catch pour chaque type d'objet d'erreur qui est renvoyé par sortRows().
import RecordSet; 
var myRecordSet:RecordSet = new RecordSet();
try { 
    myRecordSet.sortRows(); 
    trace("everything is fine"); 
} 
catch (e:RecordSetException) { 
    trace(e.toString()); 
} 
catch (e:MalformedRecord) { 
    trace(e.toString()); 
}

Voir aussi

use namespacedirective 
Utilisation
use namespace ns1[, ns2, ...nsN]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Suite à cette opération, les espaces de nom spécifiés sont ajoutés à l'ensemble d'espaces de nom ouverts. Les espaces de nom spécifiés sont retirés de l'ensemble d'espaces de nom ouverts lorsque le programme quitte le bloc du code en cours d'exécution. La directive use namespace peut figurer au plus haut niveau d'un programme, d'une définition de package ou d'une définition de classe.

Paramètres
nsN:Namespace — Un ou plusieurs espaces de nom à ajouter à l'ensemble d'espaces de nom ouverts

Voir aussi

varmot clé de définition 
Utilisation
var variableName [= value1][...,variableNameN[=valueN]] 

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie une variable. Si vous déclarez des variables dans une fonction, elles sont locales. Elles sont définies pour cette fonction et expirent à la fin de l'appel de celle-ci.

Si vous déclarez des variables en dehors d'une fonction, elles restent disponibles tout au long du scénario contenant l'instruction.

Vous ne pouvez pas déclarer une variable figurant dans le domaine d'un autre objet en tant que variable locale.

my_array.length = 25; // ok 
var my_array.length = 25; // syntax error 

Vous pouvez affecter un type de données à une variable en lui ajoutant un caractère deux points (:) suivi du type de données.

Vous pouvez déclarer plusieurs variables dans une seule instruction, en séparant leurs déclarations par des virgules (bien que cette syntaxe risque de réduire la clarté du code) :

var first:String = "Bart", middle:String = "J.", last:String = "Bartleby";

Paramètres
variableName:* — Identificateur.

Exemple
Utilisation des exemples
Le code ActionScript suivant crée un nouveau tableau contenant des noms de produits. Array.push ajoute un élément à la fin du tableau.
var product_array:Array = new Array("Studio", "Dreamweaver", "Flash", "ColdFusion", "Contribute", "Breeze"); 
product_array.push("Flex"); 
trace(product_array); 
// output: Studio,Dreamweaver,Flash,ColdFusion,Contribute,Breeze,Flex

Voir aussi

whileinstruction 
Utilisation
while (condition) { 
	// statement(s)
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Evalue une condition. Si elle renvoie true, exécute une ou plusieurs instructions avant de remonter la boucle et de réévaluer la condition. Lorsque l'évaluation de la condition renvoie false, les instructions sont ignorées et la boucle se termine.

L'instruction while exécute la procédure suivante. Toute répétition des étapes 1 à 4 constitue une itération de la boucle. La condition est testée au début de chaque itération, comme dans les étapes suivantes :

  1. L'expression condition est évaluée.
  2. Si condition renvoie true ou une valeur pouvant être converti en une valeur booléenne true, telle qu'un nombre différent de zéro, passez à l'étape 3. Sinon, l'instruction while se termine et l'exécution reprend au niveau de l'instruction qui suit la boucle while.
  3. Exécutez le bloc d'instructions statement(s). Si une instruction continue est détectée, ignorez les instructions suivantes et passez à l'étape 1. Si une instruction break est détectée, l'instruction while se termine et l'exécution reprend au niveau de l'instruction qui suit la boucle while.
  4. Passez à l'étape 1.

Les boucles permettent d'exécuter une action tant que la variable de décompte est inférieure à la valeur spécifiée. A la fin de chaque boucle, le compteur est incrémenté jusqu'à ce qu'il atteigne la valeur maximale spécifiée. A ce stade, condition n'a plus la valeur true et la boucle se termine.

Les accolades ({}), qui servent à entourer le bloc d'instructions que l'instruction while doit exécuter, peuvent être omises si une seule instruction doit s'exécuter.

Paramètres
condition:Boolean — Une expression qui renvoie true ou false.

Exemple
Utilisation des exemples
Dans l'exemple suivant, l'instruction while est utilisée pour tester une expression. Lorsque la valeur de i est inférieure à 20, la valeur de i est surveillée. Lorsque la condition n'est plus true, la boucle s'arrête.
var i:Number = 0; 
while (i < 20) { 
    trace(i); 
    i += 3; 
}
/* output:
0 
3 
6 
9 
12
15 
18
*/

Voir aussi

withinstruction 
Utilisation
with (object:Object) { 
	// statement(s)
}

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Etablit un objet à utiliser par défaut pour l'exécution d'une ou plusieurs instructions, ce qui permet de réduire le nombre de lignes de code à écrire.

Le paramètre object forme alors le contexte de lecture des propriétés, variables et fonctions du paramètre statement(s). Par exemple, si object est my_array, et que deux des propriétés spécifiées sont length et concat, ces propriétés sont automatiquement lues comme my_array.length et my_array.concat. Un autre exemple : si object est state.california, toutes les actions et instructions contenues dans l'instruction with sont appelées de l'intérieur de l'occurrence california.

Pour déterminer la valeur d'un identificateur dans le paramètre statement(s), ActionScript commence au début de la chaîne de domaine spécifiée par object et recherche l'identificateur à tous les niveaux de la chaîne de domaine, selon un ordre spécifique.

La chaîne de domaine utilisée par l'instruction with pour résoudre les identificateurs commence par le premier élément dans la liste suivante et se poursuit jusqu'au dernier :

  • L'objet spécifié dans le paramètre object dans l'instruction with de plus bas niveau.
  • L'objet spécifié dans le paramètre object dans l'instruction with de plus bas niveau.
  • Objet Activation (objet temporaire qui est créé automatiquement lorsque le script appelle une fonction qui contient les variables locales appelées dans la fonction)
  • Objet qui contient le script en cours d'exécution.
  • Objet Global (objets intégrés, tels que Math et String).

Pour définir une variable dans une instruction with, vous devez avoir déclaré cette variable en-dehors de l'instruction with ou vous devez entrer le chemin complet du scénario cible de la variable. Si vous définissez une variable dans une instruction with sans la déclarer, l'instruction with recherche sa valeur en fonction de la chaîne de domaine. Si la variable n'existe pas encore, la nouvelle valeur est définie sur le scénario ayant servi à appeler l'instruction with.

Paramètres
object:Object — Occurrence d'un objet ActionScript ou clip.

Exemple
Utilisation des exemples
L'exemple suivant définit les propriétés _x et _y de l'occurrence de someOther_mc, puis indique à someOther_mc de se rendre à l'image 3 et de s'arrêter.
with (someOther_mc) { 
    _x = 50; 
    _y = 100; 
    gotoAndStop(3); 
}
Le fragment de code suivant montre comment écrire le code qui précède sans instruction with.
someOther_mc._x = 50; 
someOther_mc._y = 100; 
someOther_mc.gotoAndStop(3);

L'instruction with est utile pour accéder simultanément à plusieurs éléments dans la liste de chaîne de domaine. Dans l'exemple suivant, l'objet Math intégré est placé au début de la chaîne de domaine. Le fait de déterminer Math comme objet par défaut convertit les identificateurs cos, sin et PI en Math.cos, Math.sin et Math.PI, dans cet ordre. Les identificateurs a, x, y et r ne sont pas des méthodes ni des propriétés de l'objet Math, mais puisqu'ils sont présents dans le domaine d'activation d'objet de la fonction polar(), ils renvoient aux variables locales correspondantes.

function polar(r:Number):void { 
    var a:Number, x:Number, y:Number; 
    with (Math) { 
        a = PI * pow(r, 2); 
        x = r * cos(PI); 
        y = r * sin(PI / 2); 
    } 
    trace("area = " + a); 
    trace("x = " + x); 
    trace("y = " + y); 
} polar(3);
/* output: 
area = 28.2743338823081 
x = -3 
y = 3
*/

 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/statements.html