playSpeed()为什么要被匿名函数包裹才能传递参数?

playSpeed()为什么要被匿名函数包裹才能传递参数?

$('#speed1Btn').on('click',function(){
            playSpeed(1);
        });
$('#speed3Btn').on('click',function(){
            playSpeed(3);
        });

写成这样不可以吗?

$('#speed1Btn').on('click',playSpeed(1));
$('#speed3Btn').on('click',playSpeed(3));

为什么呢?

正在回答

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

1回答

并不是playSpeed()需要匿名函数包裹 , 而是使用on绑定事件事件类型后面需要执行的内容都要写在function里面哦 .希望能解答你的疑惑 ,祝学习愉快 !

  • 慕神7088389 提问者 #1
    playSpeed()本身是外部已声明的函数。所以我不明白的是为什么不能直接在括号里传递参数?
    2018-06-21 16:17:48
  • 好帮手慕夭夭 回复 提问者 慕神7088389 #2
    on就是要加匿名函数把执行的内容写在里面 ,如果直接写playSpeed()会页面打开时会直接调用哦
    2018-06-21 16:44:52
  • 慕神7088389 提问者 回复 好帮手慕夭夭 #3
    懂了,谢谢!
    2018-06-21 17:13:33
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
响应式开发与常用框架 2018
  • 参与学习           人
  • 提交作业       2198    份
  • 解答问题       5012    个

如果你有web端基础,既想进阶,又想进军移动端开发,那就来吧,我们专题为你带来的课程有HTML5、CSS3、移动基础、响应式、bootstrap、less等,让你在前端道路上畅通无阻!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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