js的闭包是一个,看了无数遍但是依旧不明白的知识点,这一遍下来,也不知道能不能彻底明白,姑且先看吧.
依然觉得没能弄懂,糊里糊涂,好歹是顺着一遍认真看完了,啥时候顿悟要看缘分了吧
首先,关于闭包需要明确的知识点:
- 作用域
- 函数作用域和全局作用域
- 块级作用域和暂时性死区(这个范围起于函数开头,终于函数声明的那一行,在这个范围内无法访问let或者const声明的变量)
- 执行上下文和调用栈
- 代码执行的两个阶段
- 调用栈
闭包的相关概念
内存管理
- 内存管理基本概念
- 内存泄漏
- 浏览器垃圾回收机制
- 内存泄漏和垃圾回收注意事项
JavaScript预编辑阶段:
进行变量声明
变量声明提升,但是值为undifined
所有非表达式的函数声明提升