基本类型:
- undefined(表示变量声明但并未赋值)
- string
- Boolean
- Number
- null(是一个空对象指针,表示准备用来保存对象,还没有真正保存对象的值,)
- symbol(表示独一无二的值)
引用类型:
- Object
- Array
- function
- Date
区别:
- 基本类型的值是不可变的,引用类型的值是可变的;引用类型值可添加属性和方法,而基本类型值则不可以。
- 基本类型的比较是值的比较,引用类型的比较是引用的比较
- 基本类型的变量是存放在栈区的,引用类型的值是同时保存在栈内存和堆内存中的对象
- 在复制变量值时,基本类型会在变量对象上创建一个新值,再复制给新变量。此后,两个变量的任何操作都不会影响到对方。
- 而引用类型在创建一个对象类型时,计算机会在内存中开辟一个空间来存放值,我们要找到这个空间,需要知道这个空间的地址,变量存放的就是这个地址,复制变量时其实就是将地址复制了一份给新变量,两个变量的值都指向存储在堆中的一个对象,也就是说,
其实他们引用了同一个对象,改变其中一个变量就会影响到另一个变量。(引出深浅拷贝)
参考网址:https://blog.csdn.net/weixin_...
http://www.cnblogs.com/gromim...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。