基本类型主要为以下6种:
Number
String
Boolean
Undefined
1 | Undefined 类型只有⼀个值,就是特殊值 undefined 。当使⽤ var 或 let 声明了变量但没 |
null
1 | Null 类型同样只有⼀个值,即特殊值 null |
undefined 值是由 null 值派⽣⽽来
1 | console.log(null == undefined); // true |
symbol
引⽤类型
复杂类型统称为 Object ,我们这⾥主要讲述下⾯三种:
Object
Array
JavaScript 数组是⼀组有序的数据,但跟其他语⾔不同的是,数组中每个槽位可以存储任意类型
的数据。并且,数组也是动态⼤⼩的,会随着数据添加⽽⾃动增⻓
Fuction
函数实际上是对象,每个函数都是 Function 类型的实例,⽽ Function 也有属性和⽅法,跟其
他引⽤类型⼀样
1 | • 箭头函数 |
除了上述说的三种之外,还包括 Date 、 RegExp 、 Map 、 Set 等……
js数据结构
数组(Array)
栈(Stack)
队列(Queue)
链表(Linked List)
1
2
3
4
5
6
7链表也是⼀种列表,已经设计了数组,为什么还需要链表呢?
JavaScript中数组的主要问题时,它们被实现成了对象,
与其他语⾔(⽐如C++和Java)的数组相对,效率很低。
如果你发现数组在实际使⽤时很慢,就可以考虑使⽤链表来代替它。
使⽤条件:
链表⼏乎可以⽤在任何可以使⽤⼀维数组的情况中。
如果需要随机访问,数组仍然是更好的选择。字典
1
2
3字典是⼀种以键-值对存储数据的数据结构,js中的Object类就是以字典的形式设计的。JavaScript可
以通过实现字典类,让这种字典类型的对象使⽤起来更加简单,字典可以实现对象拥有的常⻅功能,
并相应拓展⾃⼰想要的功能,⽽对象在JavaScript编写中随处可⻅,所以字典的作⽤也异常明显了。散列表(Hash table)
特点是在散列表上插⼊、删除和取⽤数据都⾮常快
树(Tree)
图(Graph)
堆(Heap)



