一.今日学习内容 1.数据类型的分类 数据类型 基本类型:number,String,undefined,boolean,Symbol(独一无二的值),bigInt(不用) 引用类型:Object,function,Array 数据类型的内存分配 基本类型:栈 引用类型:堆,在栈中存放他的地址(在堆中的地址),指向堆中的数据 2.变量的复制 基本类型:传递的值是拷贝 引用类型:传递地址的拷贝 参数的传递 基本类型:传递的是值的拷贝 引用类型:传递地址的拷贝 3.深浅拷贝 为什么要拷贝:如果是引用类型,两个对象就会共享一份数据,修改其中一个,就会对另一个对象造成影响 浅拷贝:只拷贝一层 for (let key in obj) { obj1[key] = obj[key]; } Object.assign({}, obj); 深拷贝:每一层都拷贝 JSON的两个方法深拷贝缺陷 JSON.parse(JSON.stringify(obj)); 完美解决方法:_.cloneDeep(); const obj1 = _.cloneDeep(obj); 4.变量的类型检测 typeof:检测基本数据类型 instanceof:检测引用类型 Object.prototype.toString(); forEach():实现一个forEach的方法,可以循环数组,也可以循环对象 5.继承 ES5继承:寄生组合继承
|