正在回答 回答被采纳积分+1
1回答
imooc_慕慕
2022-08-25 10:18:12
同学你好,解答如下:
首先我们需要先知道call()与apply()都能指定函数的上下文。
两者的区别:
因为arguments打印的结果为数组的形式,因此这个位置只可以使用apply()
apply方法的作用是调用函数,并改变函数中this的指向。
当调用fun1函数的时候,传入两个值33,44,此时arguments的结果为[33,44],
然后执行内部的fun2函数,它有两个参数,第一个参数是将this指向改成谁,第二个参数为数组,
由于fun2中,并没有使用this,此时apply的第一个参数没有实际意义,此处相当于
即使没有意义,也要输入一个内容占位。
该数组是传给函数fun2的实参,因此fun2的形参a、b的具体值,是对应arguments中的内容:
即a是33,b是44,因此最后打印的结果是77。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星