javaScript基础(1):数据类型

114 阅读1分钟

打好基础,查漏补缺

基础是重中之重

数据类型

JavaScript中,数据类型分为原始数据类型和引用数据类型。

基本数据类型的值是按值访问

引用数据类型是按引用访问的

基本类型的比较是它们的值的比较

原始数据类型(六种)

String、Boolean、Number、Undefined、Null、Symbol

Undefined 已声明但未赋值

Null 它只是期望此处将引用一个对象, 注意是"期望

typeof null 为object的原因

1、在 javascript 的最初版本中,使用的 32 位系统,为了性能考虑使用低位存储了变量的类型信息

000:对象

null:对应机器码的 NULL 指针,一般是全零。

这样一来, null 就出了一个 bug。根据 type tags 信息,低位是000,因此null 被判断成了一个对象。这就是为什么typeofnull 的返回值是 "object"。

2、浏览器历史遗留原因,null作为代替空对象的形式出现的,给对象占位的。

基本数据类型值是存放在栈(stack)中

引用数据类型(五种)

Object、Array、Function、Date、RegExp

引用数据类型是地址存放在栈(stack)中,值存放在堆(heap)

什么是栈(stack)和堆(heap)

两种数据结构,栈是先进后出,堆是先进先出