トップページ >  javascript >  arguments
初版2013/01/21: 最終更新日2013/01/21
  arguments
目次
arguments
argumentsオブジェクトの使い方
arguments
JavaScriptのオブジェクトでargumentsというのがあります。これはインスタンスを生成できるわけでなく、関数が実行された場合に使用できるオブジェクトです。
JavaScriptでは関数実行時、引数の数が違ってもエラーとなりません。詳細は関数の宣言を見てください。

但し、argumentsオブジェクトは関数呼び出しの際の引数を保持します。以下、例です。



関数の引数は1つですが、関数呼び出し部分では引数を2つ渡しています。この2つというのをarguments.lengthは保持します。以下、ソースです。

<input type="button" value="a(2,3)" onclick="a(2,3);" />
<script type="text/javascript">
<!--
function a(val1){
    alert(arguments.length);
}
//-->
</script>

argumentsオブジェクトの使い方
argumentsオブジェクトの使い方ですが、関数ごとにこのオブジェクトは存在するため、以下のように記述します。

関数名.arguments[n]

nは引数の何番目かを指定します。基底値は0です。以下、例です。



以下、ソースです。

<input type="button" value="b(2,3)" onclick="b(2,3);" />
<script type="text/javascript">
<!--
function b(val1){
    alert("b.arguments[0]=" + b.arguments[0]);
    alert("b.arguments[1]=" + b.arguments[1]);
    alert("b.arguments[2]=" + b.arguments[2]);
    
    for(i in arguments){
        alert(arguments[i]);
    }
}
//-->
</script>

引数は2つのため、b.arguments[2]はundefinedとなります。
また、b.という部分は省略可能ですし、for in文も使えます。