Naslaggids voor Adobe ActionScript® 3.0 voor het Adobe® Flash®-platform
Startpagina  |  Lijst met pakketten en klassen verbergen |  Pakketten  |  Klassen  |  Nieuw  |  Index  |  Bijlagen  |  Waarom in het Engels?
Filters: Gegevens ophalen van server...
Gegevens ophalen van server...
Hoofdniveau 

Function  - AS3

PakketHoofdniveau
Klassepublic final class Function
OverervingFunction Inheritance Object

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Een functie is de basiseenheid van code dat in ActionScript kan worden aangeroepen. Zowel door de gebruiker gedefinieerde functies als ingebouwde functies in ActionScript worden vertegenwoordigd door objecten Function (instanties van de klasse Function).

Methoden van een klasse zijn iets anders dan objecten Function. In tegenstelling tot een standaard object Function, is een methode bijna onlosmakelijk verbonden met het hieraan gekoppelde klasseobject. Daarom bevat een methode of eigenschap een definitie die wordt gedeeld door alle instanties van dezelfde klasse. Methoden kunnen uit een instantie worden geëxtraheerd en als 'gebonden' methoden worden behandeld (ze behouden de koppeling naar de oorspronkelijke instantie). Voor een gebonden methode, verwijst het trefwoord this naar het oorspronkelijke object dat de methode heeft geïmplementeerd. Voor een functie, verwijst het trefwoord this naar het gekoppelde object op het tijdstip dat de functie is aangeroepen.

Bekijk de voorbeelden



Openbare eigenschappen
 EigenschapGedefinieerd door
 Inheritedconstructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie.
Object
Openbare methoden
 MethodeGedefinieerd door
  
apply(thisArg:*, argArray:*):*
Geeft de waarde van thisObject op die moet worden gebruikt binnen elke functie die door ActionScript wordt aangeroepen.
Function
  
call(thisArg:*, ... args):*
Roept de functie aan die door een object Function wordt vertegenwoordigd.
Function
 Inherited
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd.
Object
 Inherited
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven.
Object
 Inherited
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd.
Object
 Inherited
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in.
Object
 Inherited
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies.
Object
 Inherited
Retourneert een tekenreeksrepresentatie van het opgegeven object.
Object
 Inherited
Retourneert de primitieve waarde van het opgegeven object.
Object
Methodedetails

apply

()methode
AS3 function apply(thisArg:*, argArray:*):*

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Geeft de waarde van thisObject op die moet worden gebruikt binnen elke functie die door ActionScript wordt aangeroepen. Deze methode geeft ook de parameters op die moeten worden doorgegeven aan elke functie die wordt aangeroepen. Omdat apply() een methode is van de klasse Function, is het ook een methode van elk object Function in ActionScript.

De parameters worden als een object Array opgegeven, in tegenstelling tot Function.call(), die parameters als een door komma's gescheiden lijst opgeeft. Dit is met name nuttig wanneer het aantal parameters dat moet worden doorgegeven onbekend is totdat het script daadwerkelijk wordt uitgevoerd.

Retourneert de waarde die de aangeroepen functie als geretourneerde waarde opgeeft.

Parameters

thisArg:* (default = NaN) — Het object waarop de functie wordt toegepast.
 
argArray:* (default = NaN) — Een array waarvan de elementen als parameters aan de functie worden doorgegeven.

Geretourneerde waarde
* — Elke waarde die de aangeroepen functie opgeeft.

Verwante API-elementen

call

()methode 
AS3 function call(thisArg:*, ... args):*

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Roept de functie aan die door een object Function wordt vertegenwoordigd. Elke functie in ActionScript wordt door een object Function vertegenwoordigd, zodat alle functies deze methode ondersteunen.

In bijna alle gevallen kan de functieaanroepoperator (()) worden gebruikt in plaats van deze methode. De functieaanroepoperator produceert beknopte en leesbare codes. Deze methode is met name nuttig wanneer de parameter thisObject van de functieaanroep expliciet moet worden bestuurd. Wanneer normaliter een functie wordt aangeroepen als een methode van een object binnen deze functie, wordt thisObject op myObject ingesteld, zoals in het volgende voorbeeld wordt getoond:

  myObject.myMethod(1, 2, 3);
  

In sommige gevallen wilt u thisObject mogelijk ergens anders naar laten verwijzen, bijvoorbeeld wanneer een functie moet worden aangeroepen als een methode van een object, maar die functie niet als een methode van dat object is opgeslagen:

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

U kunt de waarde null voor de parameter thisObject doorgeven om een functie aan te roepen als een standaardfunctie en niet als een methode van een object. De onderstaande functieaanroepen zijn bijvoorbeeld gelijk:

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

Retourneert de waarde die de aangeroepen functie als geretourneerde waarde opgeeft.

Parameters

thisArg:* (default = NaN) — Een object dat de waarde van thisObject opgeeft binnen de hoofdtekst van de functie.
 
... args — De parameter die aan de functie wordt doorgegeven. U kunt nul of meer parameters opgeven.

Geretourneerde waarde
*

Verwante API-elementen

FunctionExample.as

Het volgende voorbeeld gebruikt de klassen FunctionExample, SimpleCollection, EventBroadcaster en EventListener om te tonen hoe u op verschillende manieren van de functies in ActionScript gebruik kunt maken. Dit wordt gedaan door de volgende stappen te volgen:
  1. De constructor voor FunctionExample maakt een lokale variabele met de naam simpleColl, die wordt gevuld met een array van gehele getallen, in het bereik van 1 tot 8.
  2. Het object simpleColl wordt afgedrukt met gebruik van trace().
  3. Het EventListener-object listener wordt toegevoegd aan simpleColl.
  4. Wanneer de functies insert() en remove() worden aangeroepen, reageert de listener op de gebeurtenissen.
  5. Een tweede object SimpleCollection wordt gemaakt, met de naam greaterThanFourColl.
  6. Het object greaterThanFourColl krijgt het resultaat toegewezen van simpleColl.select() met het argument 4 en een anonieme functie. De selectiemethode van het object SimpleCollection is een interne iterator die de anonieme functieparameter als een blok gebruikt.
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 ]Waarom in het Engels?
Sommige inhoud van de Naslaggids voor ActionScript 3.0 staat in het Engels

Niet alle onderdelen van de Naslaggids voor ActionScript 3.0 zijn in alle talen vertaald. Wanneer een taalelement niet is vertaald, wordt het in het Engels weergegeven. Zo is de klasse ga.controls.HelpBox niet in elke taal vertaald. In de Nederlandse versie van de naslaggids wordt de klasse ga.controls.HelpBox bijvoorbeeld in het Engels weergegeven.