パッケージトップレベル
クラスpublic class arguments
継承arguments Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 8

arguments オブジェクトは、関数の引数を保存したり、引数にアクセスする場合に使用されます。関数の本体に含まれる場合、arguments オブジェクトにはローカルの arguments 変数を使用してアクセスできます。

引数は配列エレメントとして保存され、最初の引数は arguments[0] として、2 番目の引数は arguments[1] のようにアクセスされます。arguments.length プロパティは、関数に渡される引数の数を示します。関数で宣言された数と異なる数の引数が渡される場合もあります。

以前のバージョンの ActionScript とは異なり、ActionScript 3.0 には arguments.caller プロパティがありません。現在の関数を呼び出した関数への参照を取得するには、その関数への参照を引数として渡す必要があります。このテクニックの例については、arguments.callee の例を参照してください。

ActionScript 3.0 では、新しく ...(rest) キーワードが含まれています。arguments クラスではなく、このステートメントを使用することをお勧めします。

例を表示

関連項目

...(rest)
関数


パブリックプロパティ
 プロパティ定義元
  callee : Function
現在実行中の関数への参照です。
arguments
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  length : Number
関数に渡される引数の数です。
arguments
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリックメソッド
 メソッド定義元
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
calleeプロパティ
public var callee:Function

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 8

現在実行中の関数への参照です。



次のコードは、secondFunction() () という名前の関数を呼び出す関数への参照を取得します。firstFunction() 関数は、ブール値引数 true を持ち、secondFunction()firstFunction() を正常に呼び出していることを示して、各関数が他方の関数を相互に呼び出すことによる無限ループを防ぎます。

callSecond パラメータが true であるため、firstFunction()secondFunction() を呼び出し、自身への参照を唯一の引数として渡します。関数 secondFunction() は、データ型が Function で、caller という名前のパラメータを使用して、この引数を受け取り、保存します。次に、secondFunction() 内から、caller パラメータで firstFunction 関数を呼び出します。ただし、このとき callSecond 引数を false に設定します。

実行が firstFunction() に戻ると、trace() ステートメントが実行されます。これは、callSecondfalse であるためです。

  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 8

関数に渡される引数の数です。関数で宣言された数よりも増減する場合があります。

例の使用法
ArgumentsExample.as

次の例では、さまざまな arguments プロパティ(calleelength など)の使用方法を示しています。
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/3_jp/langref/arguments.html