Javascript可変長パラメータ一覧-Agmentsオブジェクト
1968 ワード
一つの関数の中で、識別子argmentsは特別な意味を持つ.
Agmentsオブジェクトは同じ配列のオブジェクトです.
eg:
検証関数のパラメータの正確な数
eg:
簡単なmax関数は、任意の数の実際のパラメータを受け入れることができます.
argmentsはまた、カレント実行中の関数を参照するためにcalee属性を定義しています.
eg:
階乗の関数を計算します.
Agmentsオブジェクトは同じ配列のオブジェクトです.
eg:
検証関数のパラメータの正確な数
function f(x, y, z) {
if (arguments.length != 3) {
throw new Error("function with " + arguments.length +
"arguments, but it expects 3 arguments.")
// now do the actual function
}
}
eg:
簡単なmax関数は、任意の数の実際のパラメータを受け入れることができます.
function max() {
var m = Number.NEGATIVE_INFINITY;
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] > m) m = arguments[i];
}
return m;
}
var larget=max(1,100,92,8,5,108)argmentsはまた、カレント実行中の関数を参照するためにcalee属性を定義しています.
eg:
階乗の関数を計算します.
function f(x) {
if (x <= 1) return 1;
return x * arguments.callee(x - 1);
}