this的不同应用场景,如何取值?
-
this取什么样的值 是在函数执行的时候被确定的 不是在函数定义的时候被确定的
-
作为普通函数被调用
this指向window
-
使用 call apply bind
call 一调用就执行
bind 会返回一个新的函数去执行 再重新执行这个函数
-
作为对象方法被调用
返回当前对象
-
在 class 方法中调用
this指的是当前创建的实例
-
箭头函数
setTimout(function(){
// 普通函数
// this === window
})
setTimeout(()=>{
// 箭头函数 取值 是取上级作用域的this的值
// this 即当前对象
})