老师请解释一下箭头函数这里的this指向

来源:5-6 箭头函数

慕前端2185815

2021-03-12 12:01:53

http://img.mukewang.com/climg/604ae79109bac90213160702.jpg

写回答

1回答

好帮手慕夭夭

2021-03-12

同学你好,参考如下理解:

1、getAge和getAgeArrow是普通函数,普通函数中的this可以记住一句话,即this指向函数的调用者。通俗的理解,这个方法(方法即函数)是谁调用的,它里面的this就指向谁。

http://img.mukewang.com/climg/604afe4b0968c36f05440341.jpg

对象中的方法一般是由对象调用的,所以这两个方法中的this指向的就是xiaoming。

http://img.mukewang.com/climg/604afec909f8144104570071.jpg

2、定时器是由window对象调用的,如果定时器中的函数是普通函数,那么它里面的this指向的就是调用者window。

http://img.mukewang.com/climg/604aff0709c3bd7604520125.jpg

3、如果一个函数是箭头函数,也可以记住一句话,即箭头函数的this指向的是定义时所处的对象。例如如下定时器中使用的箭头函数,它是在getAgeArrow中创建的,所以绑定的就是getAgeArrow中的this。通俗的说就是,getAgeArrow的this指向谁,那么它里面的箭头函数的this就会执行谁。上面说了,getAgeArrow方法的this执行的是xiaoming,所以定时器中的this指向的也是xiaoming。


http://img.mukewang.com/climg/604affaa092c198505940295.jpg

祝学习愉快~


0

0 学习 · 10739 问题

查看课程