Как известно синтаксис функции apply: func.apply(context, [arg1, arg2]);
Как будет выглядеть кастомная функция, которая принимает контекст, аргументы в массиве и передает ее в другую функцию?
Asked
Active
Viewed 33 times
0
-
1вопрос о полифиле или о нативной реализации в конкретном движке? – Grundy Jul 25 '18 at 06:46
1 Answers
1
Для установки контекста есть несколько способов.
Например можно воспользоваться методом bind
В этом случае реализация может быть следующей:
function apply2(func, context, args) { // функция принимает саму функцию, новый контекст, и массив параметров, которые необходимые передать
var wrapper = func.bind(context); // привязываем контекст
return wrapper(...args); // выполняем с привязанным параметром и переданными аргументами
}
function test(a, b) {
return this.a + a + b;
}
console.log(apply2(test, {
a: 1
}, [2, 3]));
Grundy
- 81,538