Pass unknown number of parameters to JS function
本问题已经有最佳答案,请猛点这里访问。
一些JavaScript库中的模式能够向函数传递任意数量的参数:
1 2 3 | functiona(param1) functiona(param1, param2, param3) functiona(param1, param2) |
我有一个长度未知的数组,我想将所有数组项作为参数传递给像
你想要的可能是
用途:
1 2 | var params = [param1, param2, param3]; functiona.apply(this, params); |
如其他人所述,
1 2 3 4 5 | function functiona() { var param1 = this.arguments[0]; var param2 = this.arguments[1]; } |
但它也可以使用任意数量的正常参数:
1 2 3 4 5 | function foo(x, y) { console.log(x); } foo.apply(this, [10, 0, null]); // outputs 10 |
使用
The
arguments object is an Array-like object corresponding to the
arguments passed to a function.
是的,可以使用函数内的
1 2 3 4 5 6 | function foo () { console.log(arguments[0]); // -> bar console.log(arguments[1]); // -> baz } foo('bar', 'baz'); |