decoratedSlowFunc(3, 5)
const decoratedSlowFunc = cachingDecorator(worker.slow, hash);
и уже там вызывается функция cachingDecorator(worker.slow, hash)
возвращающая функцию обертку function decoratedSlow()
.const decoratedSlowFunc
const decoratedSlowFunc
происходит запись (key, result) в кэш функции находящейся в глобальном окружении? Т.е. в cachingDecorator(func, hash)
в let cache = new Map();
worker.slow = cachingDecorator(worker.slow, hash);
alert( worker.slow(3, 5) );
(3,5)
, а cachingDecorator
вызывается с параметрами (worker.slow, hash)
.arguments
- это именно (3,5)
, а не (worker.slow, hash)
? x
, или как в вашем примере testValue
- становится по очереди каждый элемент массива filterUs
каким образом? Или из лексического окружения подхватывается?