可能重复:
Pass arbitrary number of parameters into Javascript function
如何使用n个参数实现以下目标?
function aFunction() {
if ( arguments.length == 1 ) {
anotherFunction( arguments[0] );
} else if ( arguments.length == 2 ) {
anotherFunction( arguments[0], arguments[1] );
} else if ( arguments.length == 3 ) {
anotherFunction( arguments[0], arguments[1], arguments[2] );
}
}
function anotherFunction() {
// got the correct number of arguments
}
答案 0 :(得分:2)
您不需要这样做。以下是如何在不关心你有多少论据的情况下调用它的方法:
function aFunction() {
anotherFunction.apply(this, arguments);
}
function anotherFunction() {
// got the correct number of arguments
}
答案 1 :(得分:0)
你可以使用.apply()
method来调用一个提供参数的函数作为数组或类数组的对象:
function aFunction() {
anotherFunction.apply(this, arguments);
}
(如果你检查我链接到的MDN doco,你会看到它提到你将所有函数的参数传递给其他函数的具体例子,尽管很明显还有很多其他的应用程序。)
答案 2 :(得分:0)
使用apply()
。 Function
原型上的此方法允许您调用具有指定this
上下文的函数,并将参数作为数组或类似数组的对象传递。
anotherFunction.apply(this, arguments);
答案 3 :(得分:0)
像这样:
function aFunction() {
var args = Array.prototype.slice.call(arguments, 0);
anotherFunction.apply(this, args);
}
答案 4 :(得分:0)
以下是Sample函数...
functionName = function() {
alert(arguments.length);//Arguments length.
}