请解释什么是闭包(Closure),并给出一个简单的实际使用闭包的例子。

分类: technical

难度: easy

标签:

答题技巧

["先定义闭包:函数 + 该函数能访问到的词法作用域","说明闭包的核心:函数记住并访问其诞生时所处的词法环境","常见用途:数据私有化、状态保持、函数工厂、回调函数中保存变量","举例时最好写代码(计数器、防抖、节流、模块模式等)","提到常见面试追问:内存泄漏风险、for循环中的经典闭包问题"]

参考答案

闭包是指一个函数能够记住并访问其词法作用域中的变量,即使这个函数在它被创建的作用域之外被调用。 示例(计数器): ```javascript function createCounter() { let count = 0; return function() { return ++count; }; } const counter = createCounter(); console.log(counter()); // 1 console.log(counter()); // 2 ```

技术面试
简单

请解释什么是闭包(Closure),并给出一个简单的实际使用闭包的例子。

16 次浏览

回答要点

["先定义闭包:函数 + 该函数能访问到的词法作用域","说明闭包的核心:函数记住并访问其诞生时所处的词法环境","常见用途:数据私有化、状态保持、函数工厂、回调函数中保存变量","举例时最好写代码(计数器、防抖、节流、模块模式等)","提到常见面试追问:内存泄漏风险、for循环中的经典闭包问题"]

参考答案

闭包是指一个函数能够记住并访问其词法作用域中的变量,即使这个函数在它被创建的作用域之外被调用。 示例(计数器): ```javascript function createCounter() { let count = 0; return function() { return ++count; }; } const counter = createCounter(); console.log(counter()); // 1 console.log(counter()); // 2 ```

开始模拟面试练习

通过 AI 模拟面试,提升你的面试技巧和自信心