欢迎来到程序员中文网!

首页 Linux Mysql C++ Python PHP JavaScript 资源下载 动态 开源推荐
我要投稿 投诉建议

JavaScript 闭包与高阶函数应用场景

时间:2026年08月12日 05:39:03 浏览:0

JavaScript 闭包与高阶函数应用场景


闭包是 JavaScript 核心特性之一,掌握它可写出更优雅的代码。


1. 闭包定义


闭包是函数及其词法环境的组合,内部函数可访问外部变量。


function createCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2

2. 防抖函数(Debounce)


function debounce(fn, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), delay);
};
}
const log = debounce(() => console.log('输入完成'), 300);

3. 节流函数(Throttle)


function throttle(fn, interval) {
let lastTime = 0;
return function(...args) {
const now = Date.now();
if (now - lastTime >= interval) {
lastTime = now;
fn.apply(this, args);
}
};
}

4. 私有变量


使用闭包创建私有属性。


闭包广泛应用于事件处理、异步编程、模块化设计中。