Прошу прощения, первая попытка объяснить этот вопрос была плохой. Пытаясь узнать Javascript и вопрос из проблемы с кодом (кодовозы), я сильно озадачен. В нем указано, записывается функция, которая принимает другую функцию в качестве параметра и кэширует результаты, чтобы при отправке одних и тех же параметров возврат извлекался из кеша, а фактическая функция снова не вызывалась. Например:Как функция может обрабатывать параметры, переданные через другую функцию? Javascript
var x = function(a, b) { a * b };
var cachedFunction = cache(x);
cachedFunction(4, 5); // function x should be executed
cachedFunction(4, 5); // function x should not be invoked again, instead the cached result should be returned
cachedFunction(4, 6); // should be executed, because the method wasn't invoked before with these arguments
Я не уверен, как получить доступ к аргументам, отправленным через cachedFunction. Цель состоит в том, чтобы написать кеш, чтобы он мог обрабатывать функцию x с любым количеством аргументов.
Вы на самом деле не проходит 'x',' 5' и '4' к' функции cache'. Вы передаете 5 и 4 функции 'x', получая результат, а затем передавая _that_ в' cache'. (для чего это стоит) – enhzflep
Вы не можете. Функция 'cache' вызывается со значением' 20' (* result * of 'x (5,4)'), она не имеет представления о том, какие значения были переданы 'x', или что' x' был когда-либо назывался. Кроме того, что делает ваша функция 'cache'? Вы предположительно * передаете ему функцию? Потому что в настоящее время вы этого не делаете. –
Извините, моя первая попытка понять проблему и сформулировать вопрос была плохой. Я переписал его. не уверен, что правильный этикет должен был полностью отказаться от оригинала и переписать или сделать такое большое редактирование. Приносим извинения, если бы я сделал первый. –