【发布时间】:2011-09-20 12:08:20
【问题描述】:
在我的项目中,我将不同的函数(具有不同数量的参数)注册为多个事件的侦听器。当事件发生时,我需要触发相关的函数。我以数组的形式接收要传递给侦听器方法的参数,而侦听器函数需要每个单独的参数。所以,我正在这样做,但我不喜欢这种方法,想知道是否有一种优雅的方法,
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 正是我需要的。它简单而甜蜜:) 并准确地解决了我的问题。
标签: javascript variables arguments