在Javascript中我有简单的测试代码:
function x(a, b) {
alert(a);
alert(b);
}
var c = [1,2];
x(c);
Run Code Online (Sandbox Code Playgroud)
其发送的参数c的功能x()作为一个参数,分配给a和b撑未定义: - /
如何将数组作为多个参数发送到函数,而不是作为一个数组?
And*_*ker 17
退房apply.
在你的情况下(因为你没有this在函数中使用),你可以简单地传递window(或this)作为"this"参数:
x.apply(this, [1, 2]);
Run Code Online (Sandbox Code Playgroud)
示例: http ://jsfiddle.net/MXNbK/2/
根据您关于传递null为"this"参数的问题,请参阅MDN在"this"参数的链接文章中的注释:
请注意,这可能不是方法看到的实际值:如果方法是非严格模式代码中的函数,则null和undefined将替换为全局对象,并且原始值将被加框.
或者,在使用ECMAScript 2015(或使用Babel转换程序)的浏览器中,您可以使用新的扩展运算符:
x(...[1, 2])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7513 次 |
| 最近记录: |