パッケージ | トップレベル |
クラス | public class arguments |
継承 | arguments Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
引数は配列エレメントとして保存され、最初の引数は arguments[0]
として、2 番目の引数は arguments[1]
のようにアクセスされます。arguments.length
プロパティは、関数に渡される引数の数を示します。関数で宣言された数と異なる数の引数が渡される場合もあります。
以前のバージョンの ActionScript とは異なり、ActionScript 3.0 には arguments.caller
プロパティがありません。現在の関数を呼び出した関数への参照を取得するには、その関数への参照を引数として渡す必要があります。このテクニックの例については、arguments.callee
の例を参照してください。
ActionScript 3.0 では、新しく ...(rest)
キーワードが含まれています。arguments クラスではなく、このステートメントを使用することをお勧めします。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
callee : Function
現在実行中の関数への参照です。 | arguments | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
length : Number
関数に渡される引数の数です。 | arguments |
callee | プロパティ |
public var callee:Function
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
現在実行中の関数への参照です。
例 ( この例の使用方法 )
secondFunction()
という名前の関数を呼び出す関数への参照を取得します。firstFunction()
関数は、ブール値引数 true
を持ち、secondFunction()
が firstFunction()
を正常に呼び出していることを示して、各関数が他方の関数を相互に呼び出すことによる無限ループを防ぎます。
callSecond
パラメーターが true
であるため、firstFunction()
は secondFunction()
を呼び出し、自身への参照を唯一の引数として渡します。関数 secondFunction()
は、データ型が Function で、caller
という名前のパラメーターを使用して、この引数を受け取り、保存します。次に、secondFunction()
内から、caller
パラメーターで firstFunction
関数を呼び出します。ただし、このとき callSecond
引数を false
に設定します。
実行が firstFunction()
に戻ると、trace()
ステートメントが実行されます。これは、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 | プロパティ |
public var length:Number
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
関数に渡される引数の数です。関数で宣言された数よりも増減する場合があります。
arguments
プロパティ(callee
や 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, 10:34 AM Z