我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

2022-01-03 王嘉乐

[复制链接]
yousay! 发表于 2023-1-5 18:43:25 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

# 1.this的指向

概念:this是一个对象,this.属性名  调用里面的东西

## 1.1 this的7种指向

1. 全局中的this---window
2. 函数中this---谁调用,指向谁
3. 对象方法中---谁调用,指向谁
4. 构造函数中----实例对象
5. 定时器的回调函数中----window
6. 事件处理函数中-----事件源
7. 箭头函数----上一级,箭头函数没有this,他的this指向的是绑定定义函数所处的作用域

## 1.2 修改this指向

1. call()  apply()

   这两个方法都可以调用函数,在调用函数的同时,可以指定this的指向

   函数(实参);

   函数.call(this对象,参数1,参数2,....)

   函数.apply(this对象,[实参1,实参2,.....])

2. bind()

   把函数的this绑定到一个目标对象上,然后返回一个新函数

   后续只需要调用新函数,新函数的this永远指向了绑定的目标对象

# 2. 数据类型的分类

```javascript
ES5:
   基本string number undefined null boolean
    引用object function array

ES6:
   基本string number undefined null boolean symbol
    引用object

ES11---bigInt:科学计算
```

```javas
数据类型的内存分配
基本:栈
引用:堆,栈中存放的是它在堆中的地址,指向堆中的数据
```

```javascript
变量的复制
基本传递值的拷贝
引用传递地址的拷贝
```

```javascript
传递参数
基本传递值的拷贝
引用传递地址的拷贝
```

# 3.深浅拷贝

1. 为什么要拷贝?

   如果是引用类型,直接复制,两个对象会共享一份数据,只要修改其中一个对象,就会对另外一个对象造成影响

2. 浅拷贝:只会拷贝对象的一层
3. 深拷贝:每一层都拷贝

# 4.变量的类型检测

```javascript
typeof:主要用于检测基本类型
instanceof:主要用于检测引用类型
Object.prototype.toString.call(变量/实例对象)


回复

使用道具 举报

关注0

粉丝0

帖子46

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026