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++) { ... } } |
|
値 | |
整数値 |