菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
2022-01-03 王嘉乐
[打印本页]
作者:
yousay!
时间:
2023-1-5 18:43
标题:
2022-01-03 王嘉乐
# 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
(
变量
/
实例对象
)
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4