变量,作用域和内存问题笔记
Posted 蓝方人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变量,作用域和内存问题笔记相关的知识,希望对你有一定的参考价值。
1、基本类型的值直接保存在栈里
2、引用类型的值保存在堆里,而栈里保存的是一个指向堆的指针。
3、从一个变量向另外一个变量复制时,复制的只是栈里的内容。所以基本类型会直接复制的栈里的值。而引用类型复制的栈只是一指向堆的指针,所以会造成对象引用。
4、作用域链。每个函数被调用时都会创建一个自己的作用域链,作用域链的前端始终都是当前执行环境的变量对象,末端是全局环境的变量对象。
5、垃圾回收,客户端自己会有垃圾回收的机制(标记清除,引用计数)。我们解除变量引用(a = null)并不是直接回收内存,而是变量脱离执行环境。等待客户端的回收垃圾机制,把内存回收。
以上是关于变量,作用域和内存问题笔记的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript学习笔记—— 4. 变量作用域和内存问题