JavaScript高级:数据、内存以及变量三者的关系/JavaScript内存的管理

数据

  • 是什么
    • 本质为二进制
  • 特点
    • 可读
    • 可传递 b=a 注意:万物皆数据,函数也是数据

内存

  • 是什么?
    • 内存条通电后产生的存储空间(临时)
    • 产生:通电;结束:断电
  • 栈主要存储 基本变量、占用内存小
  • 堆主要存储 引用、地址 对象,占用空间大

变量

  • 是值可以变化的量

数据、内存、变量三者的关系

* 赋值操作传递的是地址值
* 变量保存的是基本变量类型
* 对象保存地址值

内存是一个容器, 用来存储程序运行需要操作的数据

变量是内存的标识, 我们通过变量找到对应的内存, 进而操作(读/写)内存中的数据

JavaScript如何管理内存

  • 释放内存:
    • 没有引用的时候将对象的值赋为null,在堆中释放,但是栈中的变量没有释放
    • 为执行函数分配的栈空间内存: 函数执行完自动释放(函数自上而下的执行,执行完毕后的函数不再执行,释放掉)
  • 注意:闭包

猜你喜欢

转载自blog.csdn.net/xzz2222/article/details/80379205
今日推荐