js callback

时间:2022-10-31 12:28

js中callback是什么呢?不知道的小伙伴来看看小编今天的分享吧!

1、js中callback简介:

一个被当做参数的函数,即为回调函数。

在JS中万物皆为对象。函数本身也是一个对象,既然是对象,所以函数当然可以当做函数的参数。

//可以这样创建函数letfun=newFunction("arg1","arg2","returnarg1*arg2;");fun(3,3);//6

如上述代码,fun函数就是一个对象。

functionfun1(fn){fn();}functionfun2(){console.log("callBack");}fun1(fun2);//callBack

上述代码中,fun2做为fun1的参数,fun2即为回调函数。

js callback

2、回调函数的作用

几乎所有的第三方函数我们都无法修改函数的内部实现, 比如数组的forEach,map等。那么我们也就无法在这样的函数体中,调用自己所写的功能模块。所以此时,回调函数就提供了这样的能力,使我们可以将自己所书写的函数传入第三方函数中,从而实现完整的功能。

举例:

通过冒泡排序,来展示回调函数的使用方式。

letarr=[5,6,4,7,3,8,2,9,0,1];functionsmallToLarge(L,R){//回调函数returnL>R;}functionLargeTosmall(L,R){//回调函数returnL<R;}functionbubbleSort(arr,callBack){for(leti=0;i<arr.length-1;i++){for(letj=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);//0123456789bubbleSort(arr,LargeTosmall);console.log(arr);//9876543210

函数bubbleSort拥有一个参数callBack,而smallToLarge与LargeTosmall均为回调函数,当我们在bubbleSort函数调用时,传入smallToLarge与LargeTosmall就可以非常方便的控制排序的规则。

以上就是小编今天的分享了,希望可以帮助到大家。

标签:
随便看看
本类推荐
本类排行
热门标签

我国国家通讯社行不行啊细狗新年贺词祝福语2023年祝福语新年新年贺词新年贺词祝福语居家抗病毒小药箱除夕高速免费吗2022年除夕高速免费吗春联春联句子大全春联句子大全七字年夜饭十二道菜年夜饭十二道菜单年夜饭吃什么年夜饭吃什么菜吃年夜饭的寓意年夜饭黑芝麻菊花茶晒菊花茶腌腊肉送妈妈生日礼物汉白玉送闺蜜水钻送女人礼物爸爸生日送礼物送老公