Dzmitryj_Black
@Dzmitryj_Black
Front-end Engineer

Как вызвать функцию как параметр внутри другой функции?

Есть именная функция. Мне нужно сделать так, чтобы в функцию передавалась другая функция в виде параметра, и также ее параметры.

При этом, имя функции-параметра также неизвестны как и количество переменных, которые она принимает.

Я знаю, что есть spread-оператор. func (...args) => {}

Но как вызвать функцию-параметр не могу понять. Присвоить ей значение-ссылку не помогает. Есть псевдомассив arguments. Его можно перебирать. Но как обьяснить интерпретатору, чть остальные аргументы - лишь параметры для первого аргумента?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 2
RAX7
@RAX7
function callMe(...args) {
  console.log(...args);
}

function callFn(fn, ...args) {
  fn.apply(null, args);
}

callFn(callMe, 1, 2, 3, 42);
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
const xxx = (f, ...args) => f.apply(null, args);

xxx(console.log, 'aaa', 'bbb', 'ccc')
xxx(alert, 'hello, world!!')
xxx((...args) => args.reduce((p, c) => p * c, 1), 3, 4, 5)
xxx(xxx, Math.max, 6, 3, 8, 1, 2)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы