У меня есть функция, которая принимает любые числа и виды аргументов, поэтому определенный параметр не определен. Эта функция должна вызывать другую функцию, передающую все аргументы.
Проблема в том, что я могу передать "аргументы", чтобы включить все аргументы, но в этом случае он будет работать как один аргумент, а не то, как мы ожидаем, что аргументы будут работать.
Пример:
Основная функция:
function handleCall() {
// let call a sub-function
// and pass all arguments (my question is how this is handled the right way)
function callSubFunction( arguments );
}
function callSubfunction( userid, customerid, param) {
// passed arguments are now
alert( 'userid = ' + userid );
// this will not work, you have to use arguments[2]
alert( param );
}
The example call:
handleCall( 1029, 232, 'param01' );
Используя вышеприведенный подход, все аргументы будут храниться в "userid" в виде псевдо-массива, и элементы могут быть доступны, например. аргументы [2], но не используя имя параметра "param".
В ColdFusion решение для такого материала является параметром "argumentCollection", таким образом вы можете передавать параметры, хранящиеся в структуре, без преобразования в один аргумент с структурой типа, содержащей все ключи/значения.
Как я могу достичь того же с JavaScript?