Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
Niveau supérieur 

Function  - AS3

PackageNiveau supérieur
Classepublic final class Function
HéritageFunction Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Une fonction constitue l’unité de base du code que vous pouvez appeler dans ActionScript. Les fonctions définies par l’utilisateur et les fonctions intégrées à ActionScript sont représentées par des objets Function, qui sont des occurrences de la classe Function.

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

Consulter les exemples



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
Méthodes publiques
 MéthodeDéfini par
  
apply(thisArg:*, argArray:*):*
Spécifie la valeur thisObject à utiliser dans toute fonction appelée par ActionScript.
Function
  
call(thisArg:*, ... args):*
Appelle la fonction représentée par un objet Function.
Function
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
Détails de la méthode

apply

()méthode
AS3 function apply(thisArg:*, argArray:*):*

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Spécifie la valeur thisObject à utiliser dans toute fonction appelée par ActionScript. Cette méthode spécifie également les paramètres à transmettre à toute fonction appelée. Dans la mesure où apply() est une méthode de la classe Function, c’est également une méthode de chaque objet Function dans ActionScript.

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

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

Paramètres

thisArg:* (default = NaN) — Objet auquel s’applique la fonction.
 
argArray:* (default = NaN) — Tableau dont les éléments sont transmis à la fonction en tant que paramètres.

Valeur renvoyée
* — Toute valeur spécifiée par la fonction appelée.

Eléments de l’API associés

call

()méthode 
AS3 function call(thisArg:*, ... args):*

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Appelle la fonction représentée par un objet Function. Toutes les fonctions dans ActionScript sont représentées par un objet Function, de sorte que toutes les fonctions prennent en charge cette méthode.

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

  myObject.myMethod(1, 2, 3);
  

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

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

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

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

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

Paramètres

thisArg:* (default = NaN) — Objet qui spécifie la valeur de thisObject dans le corps de la fonction.
 
... args — Paramètre ou paramètres à transmettre à la fonction. Vous pouvez spécifier zéro ou plusieurs paramètres.

Valeur renvoyée
*

Eléments de l’API associés

FunctionExample.as

L’exemple suivant a recours aux classes FunctionExample, SimpleCollection, EventBroadcaster et EventListener pour présenter les différentes utilisations des fonctions dans ActionScript. Cette opération s’accomplit de la façon suivante :
  1. Le constructeur de FunctionExample crée une variable locale appelée simpleColl, qui est remplie par un tableau d’entiers allant de 1 à 8.
  2. L’objet simpleColl est imprimé à l’aide de la méthode trace().
  3. Un objet EventListener, listener, est ajouté à simpleColl.
  4. Lorsque les fonctions insert() et remove() sont appelées, l’écouteur répond à leurs événements.
  5. Un deuxième objet SimpleCollection est créé sous le nom greaterThanFourColl.
  6. L’objet greaterThanFourColl se voit affecter le résultat de simpleColl.select() avec l’argument 4 et une fonction anonyme. La méthode de sélection de l’objet SimpleCollection est un itérateur interne qui utilise le paramètre de fonction anonyme en tant que bloc.
package {
    import flash.display.Sprite;
    
    public class FunctionExample extends Sprite {
        public function FunctionExample() {
            var simpleColl:SimpleCollection;
            simpleColl = new SimpleCollection(0, 1, 2, 3, 4, 5, 6, 7, 8);
            trace(simpleColl);        // 0, 1, 2, 3, 4, 5, 6, 7, 8

            var listener:EventListener = new EventListener();
            simpleColl.addListener(listener);
            simpleColl.insert(9);        // itemInsertedHandler: 9
            simpleColl.remove(8);        // itemRemovedHandler: 8
            trace(simpleColl);        // 0, 1, 2, 3, 4, 5, 6, 7, 9

            var greaterThanFourColl:SimpleCollection;
            greaterThanFourColl = simpleColl.select(4, function(item:int, value:int){ return item > value });
            trace(greaterThanFourColl);    // 5, 6, 7, 9
        }
    }
}
    
import flash.display.Sprite;
    
class EventBroadcaster {
    private var listeners:Array;

    public function EventBroadcaster() {
        listeners = new Array();
    }
        
    public function addListener(obj:Object):void {
        removeListener(obj);
        listeners.push(obj);
    }
        
    public function removeListener(obj:Object):void {
        for(var i:uint = 0; i < listeners.length; i++) {
            if(listeners[i] == obj) {
                listeners.splice(i, 1);
            }
        }
    }
    
    public function broadcastEvent(evnt:String, ...args):void {
        for(var i:uint = 0; i < listeners.length; i++) {
            listeners[i][evnt].apply(listeners[i], args);
        }
    }    
}
    
class SimpleCollection extends EventBroadcaster {
    private var arr:Array;
        public function SimpleCollection(... args) {
        arr = (args.length == 1 && !isNaN(args[0])) ? new Array(args[0]) : args;
    }
        
    public function insert(obj:Object):void {
        remove(obj);
        arr.push(obj);
        broadcastEvent("itemInsertedHandler", obj);
    }
        
    public function remove(obj:Object):void {
        for(var i:uint = 0; i < arr.length; i++) {
            if(arr[i] == obj) {
                var obj:Object = arr.splice(i, 1)[0];
                broadcastEvent("itemRemovedHandler", obj);
            }
        }
    }

    public function select(val:int, fn:Function):SimpleCollection {
        var col:SimpleCollection = new SimpleCollection();
        for(var i:uint = 0; i < arr.length; i++) {
            if(fn.call(this, arr[i], val)) {
                col.insert(arr[i]);
            }
        }
        return col;
    }
        
    public function toString():String {
        var str:String = new String();
        for(var i:uint = 0; i < arr.length - 1; i++) {
            str += arr[i] + ", ";
        }
        str += arr[arr.length - 1];
        return str;
    }
}

class EventListener {
    public function EventListener() {
    }
    
    public function itemInsertedHandler(obj:Object):void {
        trace("itemInsertedHandler: " + obj);
    }
    
    public function itemRemovedHandler(obj:Object):void {
        trace("itemRemovedHandler: " + obj);        
    }
}




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.