可変量の引数を使用してJavaScriptで関数を作成したいと思います。次の例は、この関数を呼び出す方法です。
myFunction(1,2);
myFunction(1,2,3);
myFunction(1,2,3,4);
myFunction(1,2,3,4,5);
myFunction(1,2,3,4,5,6);
この関数を定義する方法を知っている人はいますか?
次のようにプロトタイプで引数を記述する必要なしに、引数を序数の位置でアクセスできます。
function myFunction() {
for (var i = 0; i < arguments.length; i++)
alert(arguments[i]);
}
myFunction(1, 2, "three");
>>1
>>2
>>three
または、実際に意味的に関連する数値のセットを渡す場合は、配列を使用できます。
function myFunction(arr) { ... }
result = myFunction([1,2,3]);
RESTパラメーターはすべての新しいブラウザーでサポートされています。 詳細はこちらをご覧ください
残りのパラメーター構文を使用すると、無数の引数を配列として表すことができ、他の関数に渡すこともできます。
function myFunction(...data){
console.log(...data);
myOtherFunction(...data);
}
myFunction(1,2,3); //logs 1,2,3
myFunction([1,2,3]); //logs [1,2,3]
次のように「arguments」変数を使用します。
function myFunction() {
alert(arguments.length + ' arguments');
for( var i = 0; i < arguments.length; i++ ) {
alert(arguments[i]);
}
}
以前と同じようにメソッドを呼び出します
myFunction(1,2);
myFunction(1,2,3,4,5,6);
引数が存在しない場合は、デフォルトを使用してください。このような...
function accident() {
//Mandatory Arguments
var driver = arguments[0];
var condition = arguments[1]
//Optional Arguments
var blame_on = (arguments[2]) ? arguments[2] : "Irresponsible tree" ;
}
accident("Me","Drunk");
アドオンとして: (german wiki) のように、無名関数パラメーターに値を割り当てることができます。
arguments[0] = 5;