js实现 after
实现 after 方法
在 JavaScript 中,after 方法通常用于在指定次数后执行某个函数。以下是一个实现方式:

function after(count, callback) {
let called = 0;
return function() {
called++;
if (called >= count) {
return callback.apply(this, arguments);
}
};
}
使用示例
const sayHello = after(3, function() {
console.log('Hello!');
});
sayHello(); // 无输出
sayHello(); // 无输出
sayHello(); // 输出: Hello!
实现原理
- 创建一个闭包来跟踪函数被调用的次数。
- 每次调用返回的函数时,增加计数器。
- 当计数器达到指定次数时,执行回调函数。
高级实现(支持参数传递)
function after(count, callback) {
let called = 0;
return function(...args) {
called++;
if (called >= count) {
return callback(...args);
}
};
}
使用场景
- 延迟执行某些操作直到满足特定条件
- 防止函数被过早调用
- 实现"第N次点击后才生效"的功能
注意事项
- 计数器是函数级别的,每次调用
after都会创建新的计数器 - 回调函数的
this绑定可以通过apply或箭头函数处理 - 可以扩展实现来支持错误处理和取消功能






