在我的项目中,我注册了不同的函数(具有不同数量的参数)作为多个事件的监听器。当事件发生时,我需要触发相关的功能。我以数组的形式接收要传递给侦听器方法的参数,而侦听器函数期望每个单独的参数。所以,我这样做是这样,但我不喜欢这种方法,并想知道是否有这样做的一个优雅的方式,Javascript未知数量的参数
function callListenerWithArgs(func, args){
switch(args.length){
case 1:
func(args[0]);
break;
case 2:
func(args[0], args[1]);
break;
case 3:
func(args[0], args[1], args[2]);
break;
case 4:
func(args[0], args[1], args[2], args[3]);
break;
default:
func();
}
}
谢谢大家。 fun.apply正是我所需要的。它简单而又甜蜜:)并且正好解决了我的问题。 – Nutty