前端面试 JavaScript— 什么是闭包?

Posted aiguangyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端面试 JavaScript— 什么是闭包?相关的知识,希望对你有一定的参考价值。

闭包是实现变量重用又保护变量不被污染的一种结构,它实现了全局变量可重用又兼顾了局部变量不会被污染的两大优势。实现闭包分为以下 3 步完成:

1. 使用外层函数包裹受保护的变量和操作变量的内层函数;

2. 外层函数将内层函数返回到外部;

3. 调用者用外部变量接住返回的内层函数;

由于外层函数的函数作用域对象,闭包结构比普通函数占用更多的内存,所以使用完闭包后,要主动释放闭包,将引用内层函数的外部变量置为 null。

以上是关于前端面试 JavaScript— 什么是闭包?的主要内容,如果未能解决你的问题,请参考以下文章

前端面试 JavaScript— 闭包有哪些表现形式?

前端面试 JavaScript— 闭包有哪些表现形式?

前端面试 JavaScript— 闭包产生的原因?

前端JavaScript基础面试题01_JS基础知识(中)作用域闭包

前端工程师 - 面试题 (最新,最全)

JS详细图解作用域链与闭包