关于apply call 关于不定长参数
有函数A和函数B,函数A和函数B的参数都是不定长的,参数顺序、类型完全一致。现在要在函数A中调用函数B,但是在调用函数B之前,第一个参数已经作了修改,怎么把修改后的参数传给函数B?用apply call的话怎么写呀?
大概是这样子:
var func_B=function(A,B,C....){
//操作不定长的arguments
}
var func_A=function(A,B,C,,,,,){
//操作A
AA=A+1;
//调用func_B。传入的是修改之后的参数值
func_B(AA,B,C....)
}
求教坛子里的大神们!!~~
------解决方案--------------------可以,比如下面的例子,alert 50而不是最初的100.
用法就是 函数.apply(this, arguments)
用call也可以,但不好操作,apply可以直接传参数数组。
关于apply和call建议读一读这篇
http://www.cnblogs.com/fighting_cp/archive/2010/09/20/1831844.html
function func1()
{
arguments[1] = 50;
func2.apply(this, arguments);
}
function func2()
{
alert(arguments[1]);
}
func1("abc",100,new Object());