菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育

标题: 巨朝阳-20221126-JS高级-DAY04 [打印本页]

作者: 云云    时间: 2022-11-29 00:13
标题: 巨朝阳-20221126-JS高级-DAY04
本帖最后由 云云 于 2022-11-29 00:15 编辑

一、今日学习

# 1. 数据类型的分类【重点】

1. 基本类型:number string undefined null boolean symbol bigInt
2. 引用类型:object(object function array)

## 1.1 数据类型的内存分配【理解明白】

1. 基本类型:栈
2. 引用类型:堆,栈中存放它的地址(在堆中的地址),指向堆中的数据

## 1.2 变量的复制【重点!】

1. 基本类型:传递的是值的拷贝
2. 引用类型:传递地址的拷贝

## 1.3 参数的传递

1. 基本类型:传递的是值的拷贝
2. 引用类型:传递地址的拷贝

# 2. 深浅拷贝

为什么要拷贝:如果是引用类型,两个对象就会共享一份数据,只要修改其中一个对象,就会对另外一个对象造成影响

## 1.1 浅拷贝

只拷贝一层

```javascript
实现方式1:for...in
实现方式2:Object.assign();
```



## 1.2 深拷贝

每一层都拷贝

```javascript
let 新对象=JSON.parse(JSON.stringify(原对象));
```

```javascript
un: undefined,  // 没有了
show: function () { },  // 没有
reg: /\.css$/,  // 空对象
int: Infinity,  // null
fin: -Infinity,  // null
date: new Date(),  // 字符串
null: null
```

完美拷贝

```javascript
lodash.js
const 新对象 = _.cloneDeep(原对象);
```





# 3. 变量的类型检测【掌握!!!】

1. typeof:主要用于检测基本类型
2. instanceof:主要用于检测引用类型
3. Object.prototype.toString();

# 4. 继承

ES5继承:寄生组合式继承




欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) Powered by Discuz! X3.4