数据类型存储的区别
+ 数据类型分成两种
=> 基本数据类型
1. Number 数值
2. String 字符串
3. Boolean 布尔
4. Undefined 空
5. Null 空
=> 复杂数据类型
1. Function 函数
2. Object 对象
+ 存储上是有区别的
+ JS 打开的内存空间
=> JS 是一个脚本语言, 依赖于浏览器执行
=> 本质是依赖浏览器里面的 JS 解析引擎
=> JS 本身不打开内存空间
=> 因为浏览器在你的电脑上运行的时候, 会占用一段内存空间
=> JS 就是在这一段内存空间里面运行的
=> 数据类型的存储, 就是存储在浏览器分配给 JS 存储的一段空间
+ 浏览器的一段存储空间
1. 栈内存
=> 存储机制, 先来进栈底
2. 堆内存
=> 存储机制, 随机存储
+ 数据类型的存储
1. 基本数据类型
=> 直接把值存储在栈内存里面
2. 复杂数据类型(地址数据类型 / 引用数据类型)
=> 把数据放在了堆内存里面
=> 把地址放在栈内存的变量里面
=> 我们管这个地址叫做引用
+ 代码的执行
=> 我们只能直接访问当栈里面的内容
=> 你要想访问某一个对象里面的成员
=> 因为对象本身在堆内存里面
=> 我们就需要利用栈里面的地址, 找到堆里面的空间
=> 然后取访问内部的成员
+ 数据类型赋值的区别
1. 基本数据类型
=> 就是把变量存储的值直接赋值给另一个变量
=> 赋值过后两个变量没有关系了
2. 复杂数据类型
=> 因为复杂数据类型中, 变量存储的是地址
=> 赋值的时候, 实际上是把一个变量的地址给了另一个变量
=> 赋值过后, 两个变量操作一个空间
3. 函数的形参和实参的关系
=> 实参就是在函数调用的时候给形参赋值
=> 实参和形参的交互, 和变量赋值时一个道理
4. 函数的返回值也是变量赋值的一种
=> 返回值是吧函数内部的数据 return 出去
=> 在函数外面有一个变量接收

浙公网安备 33010602011771号