| パッケージ | トップレベル |
| public class arguments | |
| 継承 | arguments Object |
引数は配列エレメントとして保存され、最初の引数は arguments[0] として、2 番目の引数は arguments[1] のようにアクセスされます。arguments.length プロパティは、関数に渡される引数の数を示します。関数で宣言された数と異なる数の引数が渡される場合もあります。
以前のバージョンの ActionScript とは異なり、ActionScript 3.0 には arguments.caller プロパティがありません。現在の関数を呼び出した関数への参照を取得するには、その関数への参照を引数として渡す必要があります。このテクニックの例については、arguments.callee の例を参照してください。
ActionScript 3.0 では、新しく ...(rest) キーワードが含まれています。arguments クラスではなく、このステートメントを使用することをお勧めします。
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
| callee : Function
現在実行中の関数への参照です。
| arguments | ||
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| length : Number
関数に渡される引数の数です。
| arguments | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| callee | プロパティ |
public var callee:Function現在実行中の関数への参照です。
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関数に渡される引数の数です。関数で宣言された数よりも増減する場合があります。
callee や length などの
さまざまな arguments プロパティの使用法を示しています。
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
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/2_jp/langref/arguments.html