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

js callback

人气:192 ℃/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就可以非常方便的控制排序的规则。

  • 本田凌派首保时间,凌派首保多少公里?

    本田凌派首保时间为3个月,凌派首保在车辆行驶到5000公里(以先到期限者为准)完成。随后车辆需每隔5000公里或6个月(以先到期限者为准)进行一次保养。凌派是每5000公里更换...

    问答查看全文>>
  • 车用柴暖不点火怎么办

    需要对车辆的柴油泵进行检查,判断其是否可以正常供油;若其可以正常供油,则需要对车辆的点火塞进行检查,判断其是否可以正常点燃,若不能,就需要及时对其进行更换;检查滤清器是否很脏,...

    问答查看全文>>
  • 道路交通标志标线有哪些?

    道路交通标志标线分类如下:1、白色虚线,画于路段中时,用以分隔同向行驶的交通流或作为行车安全距离识别线;画于路口时,用以引导车辆行进;2、白色实线,画于路段中时,用以分隔同向行...

    问答查看全文>>
  • 五四青年节的话语 青年节快乐的文案

    1、相信回忆是美好的!但也要知道,明天会比回忆更美好!2、五四青年节的话语:3、前面的路还很远,你可能会哭,但是一定要走下去,一定不能停。4、青年节快乐的文案:5、青年节又到了...

    句子查看全文>>
  • 马年成语祝福语 马字成语的祝福语

    1、今年的春节是新马,今年的春运叫马运,今年的空中冒马气,今年的小孩叫马宝,今年花的钱叫马钱,因为今年要群马聚首辞旧迎新!祝你马年大吉!2、人寿年丰马到功成开业大吉金榜题名3、...

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