老师可以讲讲这题吗~

来源:5-7 选择练习

hyperse

2020-06-22 23:24:32

虽然知道答案是1个是因为箭头函数没有自己的this,所以都指向环境所在的this。但是最下面四句的调用代码还是不太理解是什么意思

写回答

1回答

好帮手慕星星

2020-06-23

同学你好,函数foo绑定了作用域之后,就不能再修改了。当第一次调用foo绑定了{id:1},箭头函数在创建时,绑定的就是当前作用域也就是foo的this,即{id:1}。后面三句在调用箭头函数时,传递的this指向并不会更改它的this指向。

1、第一句是调用foo方法,绑定作用域,f变量接收返回值,也就是

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

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

2、第二句是调用第一句中返回的3个函数,第三个函数调用之后输出结果

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

另外第三个函数没有返回值,所以变量t1的值为undefined

3、第三句,第四句和第二句是一样的,都是调用三个方法,虽然call方法在不同位置,传入不同的{},但是结果都是一样的,并不能改变this指向。

自己测试理解下,祝学习愉快!

1

0 学习 · 10739 问题

查看课程