老师,您好,为什么输出的是this指的是foo,不是window?

来源:5-7 选择练习

慕尼黑1428446

2019-08-22 11:56:52

http://img.mukewang.com/climg/5d5e121b0001c66a04860379.jpg

老师,您好,为什么输出的是this指的是foo,不是window?箭头函数不是在foo里面,foo的对象不是window吗


写回答

1回答

好帮手慕星星

2019-08-22

同学你好,可以参考下面的解释:

(1)在没有使用call方法的时候调用foo函数,是window对象调用的,this指向的是window。如下:

http://img.mukewang.com/climg/5d5e481a0001ddab04030263.jpghttp://img.mukewang.com/climg/5d5e481f0001092307760038.jpg

(2)call方法的参数对象会改变foo函数中的this指向,而箭头函数中没有自己的this,与foo函数中的this相同,所以this指向的就是call中的对象。如下:

http://img.mukewang.com/climg/5d5e48af0001593e03960270.jpg

http://img.mukewang.com/climg/5d5e48b50001c26401620038.jpg

自己可以测试下,祝学习愉快!

0

0 学习 · 10739 问题

查看课程