在js中将参数作为单独的参数传递

Ori*_*Ori 1 javascript parameters arguments prototype function

在javascript中,如果我有一些函数,我可以使用arguments对象来查看传入了多少参数.有没有办法调用第二个函数并传递这些参数,好像它们只是正常的单独参数一样?

这样的事情:

function f()
{
g(arguments);
}

function g(a, b, c)
{
alert(a+b+c);
}
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下,如果我调用f(1,2,3),我会得到6的警告.为了清楚,我不是试图传递可变数量的参数,只是一种传递参数对象的方法正常的单独参数到其他函数(可能是原生的javascript函数)

Jon*_*and 8

function f() 
{
    g.apply(this,arguments);
}
Run Code Online (Sandbox Code Playgroud)

有关此技术的更多详细信息,请参阅https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function/apply

另请注意,第一个参数定义了函数运行的上下文.为第一个参数传递null将只使用全局上下文(窗口).