10、如何理解闭包?

定义:使用了父函数变量的子函数,在父函数外被使用,则形成了闭包。

问题:内存泄漏,因为函数内的变量是跟着函数调用时创建,调用完销毁。但闭包导致函数内部变量在外面使用中,那函数就不能销毁,也就让该变量一直存在内存中了,无法被垃圾回收,久了后会占用大量内存。

前置知识:如何理解 JS 的单线程? - 掘金
白话:桌 A 的客人 a 跑到桌 B 去吃饭了,那导致桌 A 的人吃完后还要在那等着客人 a 回来然后一起走(关系好),那如果客人 a 在桌 B 吃的慢玩的嗨(E 人),那桌 A 就一直等到,一直占着桌子,也没法去清理(客人都没走),如果这种事情多了,那餐馆的桌子就不够了。


10、如何理解闭包?
https://mrhzq.github.io/职业上一二事/前端面试/每日知识卡片/10、如何理解闭包?/
作者
黄智强
发布于
2024年2月3日
许可协议