这个参数不是修改成指向obj了吗,为什么还指向windows

来源:2-4 选择练习

qwq2654970

2021-10-07 17:13:25

这个参数不是修改指向obj了吗,为什么还指向windowshttps://img.mukewang.com/climg/615eba3209b4b57b17820481.jpg

写回答

1回答

好帮手慕慕子

2021-10-08

同学你好,因为forEach方法中传入的回调函数是一个箭头函数,如下:

https://img.mukewang.com/climg/615fbedf09f1ffc904930238.jpg

那么此时传不传第二个参数都不会影响箭头函数内部的this指向,因为箭头函数中的this指向该函数定义时所在作用域指向的对象,而不是使用时所在的作用域指向的对象。

​代码中的这种写法相当于先在全局中定义了一个箭头函数,然后作为参数参入forEach方法中,而箭头函数中的this指向定义时所在作用域中的this,所以此时this指向window,老师写了一个简单的示例,同学可以参考理解下,如下:

https://img.mukewang.com/climg/614a973e096e990b06940359.jpg

祝学习愉快~

1

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程