2010-04-15 58 views
2

我在找做以下的另一种方式:是否可以使用值数组作为参数来调用JavaScript函数?

function call_any_function(func, parameters){ 
    // func => any given function 
    if(parameters.length==0){ func(); }  
    if(parameters.length==1){ func(parameters[0]); }  
    if(parameters.length==2){ func(parameters[0], parameters[1]); }  
    if(parameters.length==3){ func(parameters[0], parameters[1], parameters[2]); }  
    if(parameters.length==4){ func(parameters[0], parameters[1], parameters[2], parameters[3]); } 
    // ... and so on 
}; 

看来基本的,但我无法找到答案。

任何想法?

回答

6

哦,对了:

func.apply({}, parameters) 

的第一个参数是你想this是函数里面是什么。

+0

愚蠢的问题,简单的答案。谢谢! – 2010-04-15 12:06:51

+0

有没有愚蠢的问题,只有疯狂凉爽的JavaScript功能:) – Victor 2010-04-15 12:39:48