Jér*_*nge 4 javascript arguments
我的问题最好用JsFiddle上提供的一个小代码示例来说明:
function a() {
alert("a: " + arguments.length);
b(arguments);
}
function b() {
alert("b: " + arguments.length);
}
a(33,445,67);
Run Code Online (Sandbox Code Playgroud)
我有一个a带有可变数量参数的函数,我想b用这些参数调用.不幸的是,当我运行上面的代码时,它分别显示3和1,而不是3和3.
如何调用b收到的所有参数a?
arguments是一个类似于数组的对象,对应于传递给函数的参数,因此在b()调用时只有一个参数,即数组.
您可以使用apply(),它接受参数作为数组
function a() {
alert("a: " + arguments.length);
b.apply(undefined, arguments);
}
function b() {
alert("b: " + arguments.length);
}
a(33,445,67);
Run Code Online (Sandbox Code Playgroud)