js高级程序设计第四版
第四章
4.2.2 变量声明
- var 是函数作用域声明, let、const 是块级作用域声明
- let 同一作用域内不能声明两次,var 重复的会被忽略覆盖
- let 适合在循环中声明迭代变量,使用 var 声明的迭代变量会泄漏到循环外部
- const 被赋值为对象,应用值不能修改,但对象的键则不受限制,如果想整个对象都不能修改,可以使用 Object.freeze()
4.3 垃圾回收
js 最常用的垃圾回收策略是标记清理
内存泄漏
js 中的内存泄漏大部分是由不合理的引用导致的. 解除变量引用不仅可以消除循环引用,而且对垃圾回收也有帮助
- 意外声明全局变量
- 定时器的回调通过闭包引用外部变量
- 闭包
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!