| Pakiet | Najwyższy poziom |
| Klasa | public class arguments |
| Dziedziczenie | arguments Object |
| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Argumenty są przechowywane w postaci tablicy elementów: pierwszy udostępniony element to arguments[0], drugi to arguments[1] itd. Właściwość arguments.length określa liczbę argumentów przekazanych funkcji. Liczba argumentów przekazana do funkcji może być różna od liczby argumentów przez nią deklarowanych.
W przeciwieństwie do swoich wcześniejszych wersji narzędzie ActionScript 3.0 nie posiada właściwości arguments.caller. Aby pobrać odwołanie do funkcji, która wywołała bieżącą funkcję, należy przekazać do tej funkcji dane odwołanie w formie argumentu. Zastosowanie tej techniki można znaleźć w przykładzie dla właściwości arguments.callee.
Zamiast klasy argumentów zaleca się używać nowego słowa kluczowego ...(rest) udostępnionego w narzędziu ActionScript 3.0.
Powiązane elementy interfejsu API
| Właściwość | Zdefiniowane przez | ||
|---|---|---|---|
| callee : Function
Odwołanie do aktualnie realizowanej funkcji. | arguments | ||
![]() | constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | |
| length : Number
Liczba argumentów przekazanych do funkcji. | arguments | ||
callee | właściwość |
public var callee:Function| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Odniesienie do aktualnie realizowanej funkcji.
Przykład ( Sposób korzystania z tego przykładu )
secondFunction(). Argument typu Boolean dla funkcji firstFunction() został ustawiony na wartość true w celu pokazania, jak funkcja secondFunction() pomyślnie wywołuje funkcję firstFunction() oraz uniknięcia nieskończonego zapętlenia się we wzajemnym wywoływaniu się tych funkcji.
Ponieważ parametr callSecond został ustawiony na wartość true, funkcja firstFunction() wywołuje funkcję secondFunction() i odwołuje się do samej siebie jako jedynego argumentu. Funkcja secondFunction() otrzymuje ten argument i zapisuje go za pomocą parametru o nazwie caller, którego typ danych to Funkcja. W drugiej funkcji secondFunction() za pomocą parametru caller zostaje wywołana funkcja firstFunction, ale tym razem argument callSecond został ustawiony na wartość false.
Powrót do funkcji firstFunction() powoduje wykonanie instrukcji trace(), ponieważ argument callSecond został ustawiony na wartość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 | właściwość |
public var length:Number| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Liczba argumentów przekazanych do funkcji. Może być różna od liczby deklarowanej przez funkcję.
argumentów , jak np. callee i 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
}
}
}
Tue Jun 12 2018, 12:06 PM Z
Ukryj dziedziczone właściwości publiczne
Pokaż dziedziczone właściwości publiczne