老师,end方法直接用move传进去不行吗,为啥还要套一个箭头函数()=>{move();}这样传

老师,end方法直接用move传进去不行吗,为啥还要套一个箭头函数()=>{move();}这样传

document.addEventListener('click', () => {
        move(boxEl,{x:150,y:0},
            move(boxEl,{x:150,y:150},
                move(boxEl,{x:0,y:150},
                    move(boxEl,{x:0,y:0}))));
      }, false);

如代码所示这样传不行吗,这样会造成什么后果,为啥要在move()外面先套一个箭头函数

正在回答 回答被采纳积分+1

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

1回答
好帮手慕然然 2021-12-07 10:15:26

同学你好,是不可以的,在定义move方法时,第三个参数是一个回调函数,所以应该要传递一个function函数,而move()则表示是在调用该函数,所以如果要传的话,应该要直接传递move,而不是move(),而直接传递move是无法实现效果的,所以解决方案就是定义一个function函数(也就是同学说的箭头函数),在funtion函数中执行move方法。

祝学习愉快!

  • 为什么直接传递move是无法实现效果的呢??

    2021-12-08 21:19:13
  • 因为move方法调用时需要传递参数,如果直接传递move的话,像boxEl、{x:150,y:0}等这些参数无法传递。
    2021-12-09 10:55:13
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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