视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
js callback
2022-01-22 16:21:05 责编:李赢赢
文档

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);//01234567
    bubbleSort(arr,LargeTosmall);
    console.log(arr);//9876543210

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

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

下载本文
显示全文
专题