在 Javascript 中,我有简单的测试代码:
function x(a, b) {
alert(a);
alert(b);
}
var c = [1,2];
x(c);
它将一个参数作为一个参数发送c
给函数x()
,分配给a
并b
保持未定义:-/
如何将数组作为多个参数发送给函数,而不是作为一个数组?
在 Javascript 中,我有简单的测试代码:
function x(a, b) {
alert(a);
alert(b);
}
var c = [1,2];
x(c);
它将一个参数作为一个参数发送c
给函数x()
,分配给a
并b
保持未定义:-/
如何将数组作为多个参数发送给函数,而不是作为一个数组?
退房apply
。
在您的情况下(因为您没有this
在函数中使用),您可以简单地将window
(or this
) 作为“this”参数传递:
x.apply(this, [1, 2]);
示例:http: //jsfiddle.net/MXNbK/2/
根据您关于null
作为“this”参数传递的问题,请参阅 MDN 在链接文章中关于“this”参数的评论:
请注意,这可能不是方法看到的实际值:如果方法是非严格模式代码中的函数,则 null 和 undefined 将被替换为全局 object,原始值将被装箱。
或者,在带有 ECMAScript 2015(或带有 Babel 转译器)的浏览器中,您可以使用新的扩展运算符:
x(...[1, 2])