js callback
js中callback是什么呢?不知道的小伙伴来看看小编今天的分享吧!
1、js中callback简介:
一个被当做参数的函数,即为回调函数。
在JS中万物皆为对象。函数本身也是一个对象,既然是对象,所以函数当然可以当做函数的参数。
//可以这样创建函数let fun = new Function("arg1", "arg2", "return arg1 * arg2;");fun(3, 3); //6如上述代码,fun函数就是一个对象。
function fun1(fn){ fn();}function fun2(){ console.log("callBack");}fun1(fun2); //callBack上述代码中,fun2做为fun1的参数,fun2即为回调函数。
2、回调函数的作用
几乎所有的第三方函数我们都无法修改函数的内部实现, 比如数组的forEach,map等。那么我们也就无法在这样的函数体中,调用自己所写的功能模块。所以此时,回调函数就提供了这样的能力,使我们可以将自己所书写的函数传入第三方函数中,从而实现完整的功能。
举例:
通过冒泡排序,来展示回调函数的使用方式。
let arr = [5,6,4,7,3,8,2,9,0,1]; function smallToLarge(L,R){//回调函数 return L > R; } function LargeTosmall(L,R){//回调函数 return L < R; } function bubbleSort(arr,callBack){ for(let i=0; i<arr.length-1; i++){ for(let j=0; j<arr.length-i-1; j++){ //将回调函数当做参数,决定结果是由小到大,还是由大到小 if(callBack(arr[j],arr[j+1])){ [arr[j],arr[j+1]] = [arr[j+1],arr[j]]; } } } } bubbleSort(arr,smallToLarge); console.log(arr);//0123456789 bubbleSort(arr,LargeTosmall); console.log(arr);//9876543210函数bubbleSort拥有一个参数callBack,而smallToLarge与LargeTosmall均为回调函数,当我们在bubbleSort函数调用时,传入smallToLarge与LargeTosmall就可以非常方便的控制排序的规则。
-
凌渡改装轮毂可以吗?
凌渡改装轮毂注意事项:1、改装轮毂不宜改装过宽尺寸,轮毂越大,为了保持车辆扁平比,轮胎就会越薄,对地面的感受就更明显,通过凹凸不平的路段时会大大降低乘车人的舒适度;2、需要时常...
问答查看全文>> -
2022年财务人员工作总结
财务人员工作总结怎么写呢?一起来看看小编今天的分享吧。1、财务人员工作总结首先可以描写作为财务人员的日常基础工作和职责,例如编制各类财务报表等;2、然后可以描写具备的专业知识和...
教育查看全文>> -
安全带拉出来弹不回去怎么办
是卷带弹簧长时间使用失去弹性导致的。解决此问题只需要更换卷带弹簧,或更换整个安全带机构。很多车子随着使用时间的增加,都会出现安全带不能自动弹回去的问题。有些是因为安全带脏污导致...
问答查看全文>> -
什么让生活更美好小学作文范文
什么让生活更美好小学作文怎么写?要从哪些方面去写,一起来看看小编今天的分享吧。什么让生活更美好小学作文主要由三个部分构成。首先明确本次作文的主题,叙述关于想要记录主题事项的具体...
教育查看全文>> -
大众桑塔纳水温表指针如何看
只用水温报警灯,红灯是表示水温过高;蓝灯表示水温过低。新款大众桑塔纳没有水温表,只有水温报警灯。水温报警灯亮提示车主及时添加防冻液。当水温灯亮红灯时表明发动机水温过高,需停车休...
问答查看全文>>
推荐
- 1现代瑞纳火花塞怎么换?214
- 2雅阁二手车怎么选?479
- 3轮胎爆胎后怎么处理?394
- 4身体不舒服的心情说说321
- 5经典爱情表白语录短句 爱情的表白语录大全214
- 6怎么看微信主动加过谁124
- 7福特福克斯加水在哪里289
- 8京东保价在哪里申请有效期 京东保价时间过了怎么申请保价205