Я хочу написать функцию, которая принимает функцию и некоторые другие объекты в качестве аргументов, делает эти аргументы аргументами по умолчанию для функции и возвращает новую функцию.
Предположим, у нас есть drawRect(x, y, x2, y2). Я хочу написать функцию с именем «partial», чтобы
(partial(drawRect, 0, 0))(x2, y2);
быть равным
drawRect(0, 0, x2, y2);
обратите внимание, что я хочу, чтобы функция partial была гибкой, поэтому она принимает любую функцию и любое количество аргументов.
пока что я написал это:
function temp(a, b, c, d){
document.write(a + b + c + d);
}
function partial(func){
var arr = new Array();
for (var i = 0; i<arguments.length; i++){
arr.push(arguments[i+1]);
}
var tf = function(){f.apply(this, arr.concat(func.arguments))}
console.log(2);
return tf;
}
var ff = partial(temp, 44, 55);
ff(20, 30);
но он пишет «Нан» в документе. Мне нужно получить доступ к аргументам функции 'ff' при вызове, но я понятия не имею, как это сделать. Не могли бы вы, ребята, помочь мне решить это?