Undefined和null的本质区别
Undefined和null的本质区别
① Js中的数据类型 分为 基础类型 复杂类型
1) 基础类型(数字,字符串,布尔,undefined,null)
- 存储位置为栈区
2) 复杂类型(数组,函数,对象)
- 存储位置为堆区 但是为了方便数据的查找 计算机会在数据存入的瞬间 生成一个数据地址 并将地址放在栈区保存,后续用户如果需要访问数据,可以在栈区查找到地址 并通过地址访问堆区中的数据
② Undefined是变量声明未赋值 null是变量声明并赋值 但值为空地址
1) 注:空地址就是 没有实际的复杂类型数据对应的 地址