将未知数量的参数传递给JS函数
这个问题在这里已经有了答案:
你想要的可能是Function.prototype.apply()
。
用法:
var params = [param1, param2, param3];
functiona.apply(this, params);
正如其他人所指出的, functiona
声明可以使用arguments
,例如:
function functiona()
{
var param1 = this.arguments[0];
var param2 = this.arguments[1];
}
但它也可以使用任意数量的正常参数:
function foo(x, y)
{
console.log(x);
}
foo.apply(this, [10, 0, null]); // outputs 10
使用arguments
:
arguments
对象是与传递给函数的参数对应的类Array对象。
是的,所有传递给JavaScript函数的parameters
都可以使用函数中的parameters
数组访问。
function foo () {
console.log(arguments[0]); // -> bar
console.log(arguments[1]); // -> baz
}
foo('bar', 'baz');
链接地址: http://www.djcxy.com/p/18035.html