2.数据类型的分类 数据类型的分类 ES5--2014年 基本:string 、number、undefined、null、boolean 引用:object、function、array ES6--2015年 基本:string 、number、undefined、null、boolean、symbol(独一无二的值) 引用:object ES11--2020年 bigInt(科学计算) 数据类型的内存分配 基本:栈 引用:数据存放在堆中,栈中存放的是它在堆中的地址,指向堆中的数据 变量的复制 基本:传递的是值的拷贝 引用:传递的是地址的拷贝 传递参数 基本:传递的是值的拷贝 引用:传递的是地址的拷贝 3.深浅拷贝 1.为什么要拷贝? 如果是引用类型,直接复制,两个对象会共享一份数据,只要修改其中的一个对象,就会对另外一个对象造成影响 2.深浅拷贝 1.浅拷贝:只会拷贝对象的一层 使用for in对对象进行遍历 使用Object.assign()方法 2.深拷贝:每一层都进行拷贝 使用lodash进行完美拷贝 4.变量的类型检测 typeof:主要用于检测基本类型 instanceof:主要用于检测引用类型 Object.prototype.toString.call(变量/实例对象)
|