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就可以非常方便的控制排序的规则。
-
二手车奔驰e值得买吗?
二手车奔驰e值不值得购买,要看具体车况来觉得是否值得购买的,购买二手车应该注意以下几点:1、启动:检查离合器组合是否平稳,分离是否彻底,离合器是否晃动、发响;2、变速器检查,从...
问答查看全文>> -
马自达x5汽车价格多少?
马自达x5汽车的价格需要16万起步:1、马自达CX-5前后使用的均是独立悬架,底盘的舒适性和操控性在同级别车型中都处于上游水平;2、除两款最低配车型使用的是织物座椅外,其余车型...
问答查看全文>> -
皇族都是我carry是什么意思 皇族都是我carry是什么梗
皇族都是我carry,是游戏《英雄联盟》的中国职业选手uzi(真名简自豪)的一句名言,意思是:在皇族(uzi所在的职业战队)都是我打的好,带着大家赢。uzi本来在皇族战队,在2...
热词查看全文>> -
适合发说说的感慨文案 朋友圈感悟生活说说
1、任何事情,总有答案。与其烦恼,不如顺其自然。2、自己疼自己会更来的容易,因为太多的时间里,我们都是一个人。3、当我与你在一起,不可能都会变成可能。4、我想,绘画除了用笔,更...
格言查看全文>>