| arguments | NN 3 IE 4 ECMA 1 | |
すべての関数は、その実行中に arguments オブジェクトを持ち、関数のプロパティとしてアクセスできます。このオブジェクトは自動的に作成され、関数のコンテキストの外で作成することはできません。たとえば、次の一般的な関数の定義があるとします。 function myFunc( ) {
// function statements
}
|
||
関数の中のステートメントは、次の参照を使用して arguments オブジェクトにアクセスできます。 arguments |
||
このオブジェクトには必ず callee プロパティが含まれます。このプロパティは、同じ関数への参照です (callee プロパティを参照)。arguments オブジェクトを使用して、配列の記述方法で各パラメータ変数の値にアクセスすることもできます。上記の例では、myFunc() 関数の中のステートメントは、次の参照を使用して、渡されるパラメータ値にアクセスできます。 arguments[0] |
||
実際の応用例については、この後の Function オブジェクトの arguments プロパティの説明を参照してください。 |
||
| プロパティ | ||
|
||
| Methods | ||
なし |
||
| callee | NN 6 IE 5 (Mac)/5.5 (Win) ECMA 1 |
| 読み取り専用 | |
arguments オブジェクトを作成した関数への参照です。このプロパティは、現在の関数への主要な参照です。再帰構造でアノニマス関数を呼び出すために必要です。 |
|
| 例 | |
myObj.doThis = function(input) {
// function statements that act on parameter value
if (!someCondition) {
arguments.callee(input);
}
}
|
|
| 値 | |
関数オブジェクトの参照 |
|
| length | NN 3 IE 4 ECMA 1 |
| 読み取り専用 | |
現在の呼び出しで関数に渡されたパラメータの数を返します。この数は、関数に定義されたパラメータ変数の数には関係ありません。 |
|
| 例 | |
function myFunc()
for (var i = 0; i < arguments.length; i++) {
...
}
}
|
|
| 値 | |
整数値 |
|