js数据类型
- 1.基本数据类型(原始数据类型)
string number Boolean null undefined
2.引用数据类型
object array math date function regex
JS内存结构
堆:存放引用的数据类型
栈:存放基础数据类型,函数名,变量名以及引用数据类型的内存地址
1.浅拷贝
如果是原始数据类型,就把值都拷贝过来;
如果是引用类型,就把内存地址拷贝过来(直接赋值)
(拷贝的新对象内容发生改变,会影响原来的数据)
实现方式:Object.assign()
2.深拷贝
拷贝引用数据类型,克隆出与原对象一摸一样的对象,但是不共享内存,新对象的数据改变也不会影响原来的对象。
(注意:这种方式不能复制对象中的方法)
实现方式:
1.递归
2.JSON.parse(JSON.stringify())
json数据格式
「json——JavaScript对象表示法」
要求:用双引号(key要有双引号)
两个方法:
- JSON.parse()将json字符串变成一个js对象
- JSON.stringify()将js对象变成字符串
总结:
原始数据类型用浅拷贝
引用数据类型用深拷贝