当前位置:家常菜>百科>科技>正文

js callback

人气:306 ℃/2024-10-04 03:36:37

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、科索发动机有着动力强劲、经济可靠、安全舒适、低碳环保等特点;而上菲红发动机的整体...

    问答查看全文>>
  • 动物故事好词好句

    1、大象的鼻子能伸能缩,舒展自如感觉灵敏动作灵活,摆动起来就好像一条翻腾飞舞的大蟒蛇。2、长大了一些的小黑狗可顽皮了。我刚买来的皮球常常不见,原来成了它的玩具了。它还学会了踢足...

    句子查看全文>>
  • 夏天为什么不能喝红茶

    夏天并非不能喝红茶,茶为健康饮品,而红茶为全发酵茶,茶内物质丰富,红茶属性温和,但并非性燥,因此夏天也可以正常饮用,而且也能起到生津解渴,解暑的效果,但需要注意用量适当,不宜饮...

    茶叶查看全文>>
  • 科目二补考预约不上什么原因?

    科目二补考预约不上的原因:1、科目二考试不合格的,申请百人需要先向车管所缴纳补考费,然后间隔十度日以后可以重新预约补考的;2、科目二预约网上预约不成功的,申请人可以选择其它方法...

    问答查看全文>>
  • 鼠年男孩起名字大全免费

    鼠年男孩起名字有哪些?我们一起来看看吧!1、鼠年男孩起名字大全免费单字推荐01、老鼠在十二生肖中排名首位,所以可以选取带有“王”或与“王”有关的字。(琨)——“琨”中有“王”,...

    生活查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2024 家常菜 All Rights Reserved. 手机版