关于JavaScript中this关键字指向的问题

1.指向的是事件源

关于JavaScript中this关键字指向的问题

文章插图
 
2. 读取对象中的方法时,此时的this指向当前对象
关于JavaScript中this关键字指向的问题

文章插图
 
3. 未开启严格模式,全局下面的函数调用中的this指向window
关于JavaScript中this关键字指向的问题

文章插图
 
4. 开启严格模式,全局下函数调用中的this指向undefined
关于JavaScript中this关键字指向的问题

文章插图
 
5. 定时任务中的this指向window,以setinterval为例
关于JavaScript中this关键字指向的问题

文章插图
 
6. 箭头函数中的this,指向的是箭头函数所在作用域的上一级作用域中的this
关于JavaScript中this关键字指向的问题

文章插图
 
7. call、Apply和bind等方法可以改变this指向的问题,以call方法为例
未调用call方法 obj中的c方法指向的this是obj对象
关于JavaScript中this关键字指向的问题

文章插图
 
调用call方法并传入了window对象,此时obj中的c方法指向的this就变为window对象,bind 和 apply同理,另额外补充一句call方法和apply会立即执行该函数,bind方法不会立即执行,需要接受返回值,重新调用
关于JavaScript中this关键字指向的问题

文章插图
 

【关于JavaScript中this关键字指向的问题】


    推荐阅读