1、数据
- 存储在内存中代表特定信息的东西,本质上是010101…….
- 数据的特点:可传递、可运算
- 一切皆数据
- 内存中所有操作的目标:数据
操作包括:算术运算、逻辑运算、赋值、运行函数(调用函数传参)。
2、内存
- 内存条通电后产生的可存储数据的空间(临时的)
- 内存产生和死亡:内存条(电路板)——> 通电 ——> 产生内存空间 ——> 存储数据 ——> 处理数据 ——> 断电 ——> 内存空间和数据都消失
- 一块小内存的2个数据:内部存储的数据、地址值。
- 内存分类:栈(全局变量、局部变量)和堆(对象)。
3、变量
- 可变化的量,由变量名和变量值组成
- 每个变量都对应一块小内存,变量名用来查找对应的内存,变量值就是内存中保存的数据
4、内存、数据、变量之间的关系
- 内存用来存储数据的空间
- 变量是内存的标识,通过变量找到对应的内存,进而操作(读/写)内存中的数据
5、var a=xxx ,a内存中保存的是什么?
① xxx是基本数据,保存的就是这个数据
② xxx是对象,保存的就是这个数据
③ xxx是一个变量,保存的是xxx的内存内容(可能是基本数据,也可能是地址值)
6、关于引用变量赋值的问题
① n个引用变量指向同一个对象,通过一个变量修改对象内部数据,其他所有变量看到的是修改之后的数据。
② 2个引用变量指向同一个对象,让其中一个引用变量指向另一个对象,另一个引用变量依然指向前一个对象。
7、在 js 调用函数时传递变量参数时,是值传递还是引用传递
① 理解1:都是值(基本值/地址值)传递。
② 理解2:可能是值传递,也可能是引用传递(地址值)。
8、JS 引擎如何管理内存?
① 内存生命周期
- 分配小内存空间,得到它的使用权
- 存储数据,可以反复进行操作
- 释放小内存空间
② 释放内存
- 局部变量:函数执行完自动释放
- 对象:成为垃圾对象 ——> 垃圾回收器回收
本文分享到这里,下一篇继续分享JavaScript高级学习中的对象的内容。
标签:JavaScript,变量,对象,xxx,内存,数据,引用 From: https://blog.csdn.net/weixin_56855018/article/details/141903715