菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
陈紫怡-20221128-JS高级-4
[打印本页]
作者:
Dasmondlicht
时间:
2022-11-28 12:44
标题:
陈紫怡-20221128-JS高级-4
一、今日学习内容:
数据类型的分类
基本类型
number / string / undefined / null / boolean / symbol / bigint(ES11精密计算)
引用类型
object ( object / function / array )
数据类型的内存分配
基本类型:栈
引用类型:堆,栈中存放他的地址(在堆中的地址),指向堆中的数据
变量的复制
基本类型:传递的值的拷贝
引用类型:传递地址的拷贝
参数的传递
基本类型:传递的值的拷贝
引用类型:传递地址的拷贝
深浅拷贝
为什么要拷贝
如果是引用类型,两个对象就会共享一份数据,只要修改其中一个对象,就会对另外一个对象造成影响
浅拷贝
只拷贝一层(值),后面几层都是地址
将对象的每个属性进行一次复制,但是当对象的属性值为引用类型时,复制的其实是他的地址(或者说是引用),除第一层外,当他拷贝的值发生改变的时候,源对象的值同时改变
方法:
for...in / Object.assign({},要拷贝的对象)
深拷贝
每一层都拷贝,拷贝的是值不是地址
复制对象所有属性,即复制其所有的值,改变拷贝的值,原来对象的值不会发生改变
方法:
(1)JSON.parse(JSON.stringify(要拷贝的对象));有缺陷
un: undefined, //没了
show: function () { }, //没了
reg: /\.css$/, // {}空对象
int: Infinity, //null
fin: -Infinity, //null
date: new Date(), //字符串
null: null //null
(2)_.cloneDeep(要拷贝的对象)----完美拷贝
变量的类型检测
typeof:主要用来检测基本类型
instanceof:主要用于检测引用类型
Object.prototype.toString()
继承
ES5:寄生组合式继承
1、实例(new)可以继承父类原型方法以及父类私有属性。
2、寄生继承只做继承父类原型方法,不继承父类私有属性;
3、组合继承即继承父类原型方法和继承父类私有属性。
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4