鱼C论坛

 找回密码
 立即注册
查看: 2093|回复: 1

[技术交流] 一个关于js回调函数传参的问题

[复制链接]
发表于 2020-4-25 20:58:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 晚回家 于 2020-4-25 21:01 编辑
  1. function tryMe (param1, param2) {
  2.     alert (param1 + " and " + param2);
  3. }

  4. // 外函数
  5. function callbackTester (callback) {
  6.     callback();
  7. }

  8. // 测试函数
  9. callbackTester (function() {
  10.     tryMe("hello", "goodbye");
  11. });
复制代码



①请问直接给回调函数传递参数,和用匿名函数封装回调函数再传实参,有什么区别吗?(从应用层面和代码层面)
②直接使用函数名调用回调函数,js是否会自动给回调函数传一个实参(具体是什么我倒不清楚,好像是个对象)?

两个问题可能会有交叉,谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-26 13:16:23 | 显示全部楼层
我基本功不行,所以理论问题 无法回答你
但是你碰到具体问题,可以探讨一下
我给你一些匿名函数的例子,你可以看一下:
  1. //方法一
  2. const s1=(()=> {
  3.     console.log("这是一个匿名函数的示例");
  4. });
  5. s1();

  6. //方法二
  7. const s2=(()=> {
  8.     console.log("这是一个匿名函数的示例");
  9. })();

  10. //方法三
  11. (function(){
  12.      console.log("这是一个匿名函数的示例");
  13. })();

  14. //方法四
  15. const s4=(function(){
  16.     console.log("这是一个匿名函数的示例");
  17. });
  18. s4();

  19. //传参方法一
  20. const ss1=((a,b)=>a+b);
  21. console.log(ss1(10,20));

  22. //传参方法二
  23. let ss2=((a,b)=>a+b)(10,20);
  24. console.log(ss2);

  25. //传参方法三
  26. let ss3=(function(a,b){
  27.      return a+b;
  28. })(10,20);
  29. console.log(ss3);
  30. //传参方法四
  31. let ss4=(function(a,b){
  32.     return a+b;
  33. });
  34. console.log(ss4(10,20));
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-2 00:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表