То, что вы хотите использовать, это Function.apply () . Для этого вам нужно изменить объект args из вашего примера на Array.
Тогда вы бы построили объекты вроде:
var myObject:Object = { command: doSomething, args: [ "dog", 11, myArray ] };
Где command
- ссылка на вызываемую функцию, а args
- список аргументов, необходимых для command
. Затем для вызова doSomething
:
myObject.command.apply(this, myObject.args)
В качестве дополнительного бонуса это будет работать с любой функцией с любым количеством аргументов, все, что вам нужно сделать, это изменить значения для command
и args
в myObject
. Таким образом, вы можете передать список объектов, которые соответствуют этим правилам, и перебрать их без необходимости изменения какого-либо кода.