JavaScript(ジャバスクリプト)のユーザー定義関数は、可変長引数をサポートしている。可変長引数とは、引数が、2個だったり、5個だったり、個数が定まっていないこと。
関数の引数は、引数オブジェクトという配列のようなオブジェクトに格納されている。
構文
function 関数名() {
// 第1引数は、arguments[0]
// 第2引数は、arguments[1]
// 第3引数は、arguments[2]
// 引数の数は、arguments.length
// 全ての引数を呼び出すには、for文が便利
for ( var $i = 0; $i < arguments.length; $i++ ) {
// 引数の数だけ実行する処理文
}
}
// 第1引数は、arguments[0]
// 第2引数は、arguments[1]
// 第3引数は、arguments[2]
// 引数の数は、arguments.length
// 全ての引数を呼び出すには、for文が便利
for ( var $i = 0; $i < arguments.length; $i++ ) {
// 引数の数だけ実行する処理文
}
}
サンプル
<script type="text/javascript">
function funcA() {
var $sum = 0;
for ( var $i = 0; $i < arguments.length; $i++ ) {
$sum += arguments[$i];
}
document.write( "合計: " + $sum + "<br />" );
}
funcA( 1 );
funcA( 1, 2 );
funcA( 1, 2, 3 );
funcA( 1, 2, 3, 4 );
funcA( 1, 2, 3, 4, 5 );
</script>
function funcA() {
var $sum = 0;
for ( var $i = 0; $i < arguments.length; $i++ ) {
$sum += arguments[$i];
}
document.write( "合計: " + $sum + "<br />" );
}
funcA( 1 );
funcA( 1, 2 );
funcA( 1, 2, 3 );
funcA( 1, 2, 3, 4 );
funcA( 1, 2, 3, 4, 5 );
</script>
↓↓↓出力結果↓↓↓