PacchettoPrimo livello
Classepublic class arguments
Ereditarietàarguments Inheritance Object

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 8

Un oggetto arguments viene utilizzato per memorizzare gli argomenti di una funzione e accedervi. Dal corpo di una funzione è possibile accedere al relativo oggetto arguments utilizzando la variabile arguments locale.

Gli argomenti sono memorizzati come elementi di array: al primo si accede come arguments[0], al secondo come arguments[1] e così via. La proprietà arguments.length indica il numero di argomenti passati alla funzione. Può esservi una discrepanza fra il numero di argomenti passati e quanto dichiarato dalla funzione.

A differenza delle precedenti versioni di ActionScript, ActionScript 3.0 non ha alcuna proprietà arguments.caller. Per ottenere un riferimento alla funzione che ha chiamato la funzione corrente, è necessario passare un riferimento a tale funzione sotto forma di argomento. Questa tecnica è illustrata nell'esempio di arguments.callee.

ActionScript 3.0 include una nuova parola chiave ...(rest), il cui utilizzo è consigliato al posto della classe arguments.

Vedere gli esempi

Vedere anche

...(rest)
Function


Proprietà pubbliche
 ProprietàDefinito da
  callee: Function
Un riferimento alla funzione in corso di esecuzione.
arguments
 Inheritedconstructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  length: Number
Numero di argomenti passati alla funzione.
arguments
 Inheritedprototype: Object
[statico] Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
Object
Metodi pubblici
 MetodoDefinito da
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
Descrizione delle proprietà
calleeproprietà
public var callee:Function

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 8

Un riferimento alla funzione in corso di esecuzione.


Esempio

Il seguente codice mostra come ottenere il riferimento alla funzione che chiama la funzione denominata secondFunction(). La funzione firstFunction() utilizza l'argomento booleano true per dimostrare che secondFunction() esegue correttamente la chiamata a firstFunction() e per evitare il ciclo infinito causato dalle funzioni che si chiamano a vicenda.

Poiché il parametro callSecond è true, firstFunction() chiama secondFunction() e passa, come unico argomento, un riferimento a se stessa. La funzione secondFunction() riceve l'argomento e lo memorizza utilizzando un parametro denominato caller, il cui tipo di dati è Function. Dall'interno di secondFunction(), il parametro caller viene quindi utilizzato per chiamare la funzione firstFunction, ma questa volta con l'argomento callSecond impostato su false.

Quando l'esecuzione ritorna a firstFunction(), viene eseguita l'istruzione trace() perché callSecond è 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);
        }        
    }
} 
lengthproprietà 
public var length:Number

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 8

Numero di argomenti passati alla funzione. Può essere inferiore o superiore rispetto a quanto dichiarato dalla funzione.

Esempi Come utilizzare gli esempi
ArgumentsExample.as

Nell'esempio seguente viene illustrato come utilizzare diverse proprietà arguments, quali callee e 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
        }
    }
}




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/arguments.html