简单数据类型
Number,String,Boolean,null,undefined,symbol
引用数据类型
Object,Array,Function,Date,ReExp
数据类型判断
typeof能判断基本的数据类型,返回基本数据类型小写字符串形式,除了null,用typeof判断null返回object
instanceof可以判断引用数据类型 ,判断都是Object实例
constructor构造函数可以判断除了undefined和null之外的任何数据类型
最完美的解决方案 Object.prototype,toString.call返回的是[Object数据类型]
浅拷贝和深拷贝
浅拷贝只是拷贝一层,对更深层次对象级别的只拷贝引用(地址)只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存
深拷贝拷贝多层,每一级别的数据都会拷贝,会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象
Object.assign() es6新增方法可以浅拷贝
JSON.parse() 可以实现暴力深拷贝
一般深拷贝使用递归去实现