1. this的四种绑定方式
1.默认绑定
2.隐式绑定
3.显式绑定
4.new绑定
1.1 默认绑定
js默认绑定为window
1.2 隐式绑定
当一个函数的上下文是一个对象是this会指向该对象
1.3 显式绑定
call/apply/bind 这三种方法都能改变函数this的指向(第一个参数为this的指向)
call 传参的方式在后面接参数
apply 但传参的方式是在第二个参数中传入一个数组
bind 传参方式和call相同但是它并不会马上执行函数而是返回一个修改后的函数,需要调用后才能使用
1.4 new绑定
通过new 绑定时 ,new会创建一个空对象,this将会指向这个空对象,当没有显式返回非空对象时,默认返回这个对象。
2. this指向特例
2.1 内置函数this指向
内置函数默认指向this
2.2 显式绑定null/undefined
使用默认绑定
2.3 间接函数
使用默认绑定
2.4箭头函数
箭头函数没有this,向作用域外找this