Referenshandbok för ActionScript® 3.0 i Adobe® Flash®-plattformen
Hem  |  Dölj paket och klasslista |  Paket  |  Klasser  |  Nyheter  |  Index  |  Bilagor  |  Varför på engelska?
Filter: Hämtar data från servern ...
Hämtar data från servern ...
Översta nivån 

arguments  - AS3

PaketÖversta nivån
Klasspublic class arguments
Arvarguments Inheritance Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Du använder ett argumentobjekt för att spara och använda en funktions argument. I funktionstexten kan du komma åt funktionens argumentobjekt genom att använda den lokala argumentvariabeln.

Argumenten sparas som arrayelement: det första kommer du åt med arguments[0], det andra med arguments[1] och så vidare. Egenskapen arguments.length anger hur många argument som skickades till funktionen. Det kan vara ett annat antal argument som skickades än vad funktionen deklarerar.

Till skillnad från tidigare versioner av ActionScript har ActionScript 3.0 inte egenskapen arguments.caller. Om du vill ha en referens till den funktion som anropade den aktuella funktionen måste du skicka med en referens till den funktionen som ett argument. Ett exempel på den tekniken hittar du i exemplet för arguments.callee.

I ActionScript 3.0 finns ett nytt nyckelord ...(rest) som du bör använda i stället för klassen arguments.

Visa exemplen

Relaterade API-element



Publika egenskaper
 EgenskapDefinieras med
  callee : Function
En referens till den funktion som för närvarande körs.
arguments
 Inheritedconstructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans.
Object
  length : Number
Hur många argument som skickades till funktionen.
arguments
Publika metoder
 MetodDefinieras med
 Inherited
Anger om det finns en egenskap angiven för ett objekt.
Object
 Inherited
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter.
Object
 Inherited
Anger om den angivna egenskapen finns och är uppräkningsbar.
Object
 Inherited
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder.
Object
 Inherited
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner.
Object
 Inherited
Returnerar det angivna objektets strängbeteckning.
Object
 Inherited
Returnerar det angivna objektets primitiva värde.
Object
Egenskapsdetaljer

callee

egenskap
public var callee:Function

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

En referens till den funktion som för närvarande körs.


Exempel  ( Så här använder du exemplet )
I följande kod visas hur du hämtar en referens till en funktion som anropar funktionen med namnet secondFunction(). Funktionen firstFunction() har det booleska argumentet true som demonstrerar att secondFunction() anropat firstFunction() och som förhindrar en oändlig slinga där de två funktionerna anropar varandra.

Eftersom parametern callSecond är true, anropar firstFunction() secondFunction() och skickar med en referens till sig själv som enda argument. Funktionen secondFunction() tar emot argumentet och lagrar det med en parameter med namnet caller, som är av datatypen Function. Inifrån funktionen secondFunction() använder du parametern caller för att anropa funktionen firstFunction men den här gången med argumentet callSecond inställt på false.

När körningen återgår till firstFunction() körs programsatsen trace() eftersom callSecond är false.

  package {
    import flash.display.Sprite;
    
    public class ArgumentsExample extends Sprite {
        private var count:int = 1;
        
        public function ArgumentsExample() {
            firstFunction(true);
        }

        public function firstFunction(callSecond:Boolean) {
            trace(count + ": firstFunction");
            if(callSecond) {
                secondFunction(arguments.callee);
            }
            else {
                trace("CALLS STOPPED");
            }
        }

        public function secondFunction(caller:Function) {
            trace(count + ": secondFunction\n");
            count++;
            caller(false);
        }        
    }
} 

length

egenskap 
public var length:Number

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Hur många argument som skickades till funktionen. Det kan vara fler eller färre än funktionen deklarerar.

ArgumentsExample.as

I följande exempel visas hur olika arguments-egenskaper kan användas, till exempel callee och length.
package {
    import flash.display.Sprite;
    
    public class ArgumentsExample extends Sprite {
        public function ArgumentsExample() {
                println("Hello World");
        }
        
        public function println(str:String):void {
            trace(arguments.callee == this.println); // true
            trace(arguments.length);                 // 1
            trace(arguments[0]);                     // Hello World
            trace(str);                                // Hello World
        }
    }
}




[ X ]Varför på engelska?
Innehåll i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen är på engelska

Det är inte alla delar av Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen som översätts till alla språk. Om ett språkelement inte översätts visas det på engelska. Klassen ga.controls.HelpBox översätts till exempel inte till något språk. I den svenska versionen av referenshandboken visas därför klassen ga.controls.HelpBox på engelska.