【JS】 可変長引数

可変長引数

 * arguments で行う

補足:argumentsについて

 * arguments は、配列ではなく、オブジェクト
 * Java/C#などの可変長引数とは異なり、arguments には、すべての引数の値が含まれている。
   (以下のサンプルで「if (index == 0) { continue; }」しているのは、第一引数"sample1"まで含まれてしまっている)

サンプル

<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<script src="">http://code.jquery.com/jquery-1.10.1.min.js">
</head>
<body>
<form>
<div id="sample1">Result</div>
<input id="fire" type="button" value="click me!">
</form>
<script type="text/javascript">
$("#fire").click(function(event){
  sampleFunction("sample1", 1, 2, 3, 4, 5);
  
});

function sampleFunction(id) {
  var result = "";

  for (var index in arguments) {
    if (index == 0) {
      continue;
    }
    result += arguments[index] + " ";
  }
  document.getElementById(id).innerHTML = result;
}
</script>
</body>
</html>

出力結果

1 2 3 4 5