一个函数被多次调用,有没有一种方法可以存储上次函数调用的上下文/参数并与当前函数进行检查。
答案 0 :(得分:16)
在定义函数时,我将使用闭包来存储持久变量,并将其重新分配给每次调用传递的参数,例如:
const fn = (() => {
let lastArgs;
return (...args) => {
console.log('function was called with args:', args);
console.log('past args were:', lastArgs);
lastArgs = args;
};
})();
fn('foo', 'bar');
fn('baz');
答案 1 :(得分:1)
您可以使用全局变量来存储数据。每当有一个新函数调用,请使用全局变量检查新参数并执行所需的操作。