| Pacchetto | Primo livello |
| Classe | public class arguments |
| Ereditarietà | arguments Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 8 |
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 anche
| Proprietà | Definito da | ||
|---|---|---|---|
| callee: Function
Un riferimento alla funzione in corso di esecuzione.
| arguments | ||
![]() | constructor: 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 | ||
![]() | prototype: Object
[statico]
Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
| Object | |
| callee | proprietà |
public var callee:Function
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 8 |
Un riferimento alla funzione in corso di esecuzione.
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);
}
}
} | length | proprietà |
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.
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