鱼C论坛

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

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

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

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

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

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

// 外函数
function callbackTester (callback) { 
    callback(); 
} 

// 测试函数
callbackTester (function() {
    tryMe("hello", "goodbye"); 
}); 


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

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

使用道具 举报

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

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

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

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

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

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 08:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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