老师请问这句代码什么意思,有点看不懂

老师请问这句代码什么意思,有点看不懂

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好, fn.apply(this, arguments)这句代码的意思是:通过apply方法改变fn函数内部的this指向。

其中传入的第一个参数表示fn函数内部的this指向,传入的第二个参数arguments表示传入fn函数内部的参数。

​有关apply方法,在前面的课程中也有详细的讲解,可以回顾下加深理解和记忆。

祝学习愉快~

  • 王俩亮 提问者 #1

    我console.log了一下这个this指向的是外层函数的this。之前不是说过定时器的this是指向Window的吗?

    求老师解答

    2021-09-15 15:40:18
  • 王俩亮 提问者 #2

    arguments的值是哪一个函数的参数列表?返回的function()里并没有参数,为什么还要写arguments呢?

    2021-09-15 15:45:49
  • 好帮手慕慕子 回复 提问者 王俩亮 #3

    同学你好,对于你的问题解答如下:

    1、因为定时器传入的是箭头函数,该函数内部的this与当前上下文中的this指向一致,所以这里指向的是外层函数中的this

    2、由于箭头函数内部的是没有arguments的,所以这里使用的arguments接收的是传递给外层函数的参数,示例:

    https://img1.sycdn.imooc.com//climg/6141aab40941650608790554.jpg

    3、课程中老师主要是讲解思路,并没有使用到参数,所以如果只是测试的话写不写arguments都是可以的。不过添加上也是可以的,这样以后有需要传递参数的情况就可以使用了,如下:

    https://img1.sycdn.imooc.com//climg/6141ad9909ff92fe08460452.jpg

    能够正常输入传入的参数,如下:

    https://img1.sycdn.imooc.com//climg/6141ada509a53f6011270310.jpg

    祝学习愉快~

    2021-09-15 16:25:14
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师