在前端开发中,回调函数是一个非常重要的概念,我们经常会在项目中使用到它,但对于一些初学者来说比较难以理解。今天小千就来给大家介绍一下回调函数的概念和使用,千万不要错过了。

回调函数的概念

什么是回调函数?

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

首先我们要清楚一个概念,在JS中万物皆为对象。函数本身也是一个对象,既然是对象,所以函数当然可以当做函数的参数。

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

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

在这里肯定会有小伙伴有疑问,为什么在fun1中不去直接调用fun2,而是通过回调函数进行传参?下一小节,我们将详细讨论这个问题。

回调函数的作用

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

回调函数的使用

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

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

JavaScript回调函数(callback)概念和应用,千万别错过!相关推荐

  1. 理解javascript中的回调函数(callback)【转】

    在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...

  2. 理解javascript中的回调函数(callback)

    理解javascript中的回调函数(callback) 在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Obje ...

  3. JS回调函数(callback)

    在使用Jquery的时候,用到Callback(),回调函数的概念.而且很多. 比如: $.ajax({url:"test.json",type: "GET", ...

  4. JavaScript回调函数的高手指南

    摘要:本文将会解释回调函数的概念,同时帮你区分两种回调:同步和异步. 回调函数是每个前端程序员都应该知道的概念之一.回调可用于数组.计时器函数.promise.事件处理中. 本文将会解释回调函数的概念 ...

  5. javascript 回调函数

    javascript 回调函数 回调函数 作为参数传递的函数 示例代码 let x = function () {console.log("执行回调函数") }let y = fu ...

  6. 理解javascript 回调函数

    理解javascript 回调函数 原文:理解javascript 回调函数 ##回调函数定义 百度百科:回调函数 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一 ...

  7. 服务器响应回调函数,解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)...

    由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...

  8. linux callback函数,C++回调函数(callback)的使用

    什么是回调函数(callback) 模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让 ...

  9. alert 回调_JavaScript中到底什么时候回调函数Callback

    什么是回调函数Callback 简单的理解:回调函数是在另一个函数执行完毕后执行的函数 - 因此名称为'call back'. 复杂的理解:在JavaScript中,函数是对象.因此,函数可以将函数作 ...

最新文章

  1. 通过网络方式安装linux的五种方法
  2. 求单链表的最大值与原地逆转_江西师范大学硕士学位研究生入学考试数据结构试题(2003年)一.doc...
  3. Prolog基本程序
  4. 四月森林火灾地震频发,感恩奋战在一线的最可爱的人
  5. CXF 客服端调用报错
  6. 利用哈希表和dfs解决LeetCode 399. Evaluate Division
  7. mysql注入内置函数_PHP面试之mysql内置函数,xss漏洞,sql注入
  8. 3-Scala控制结构
  9. vue-scroller的使用 开发自己的 scroll 插件
  10. kingcms php 排序 标签,Phpcms v9 如何设置排序listorder
  11. python守护线程_Python之守护线程与锁
  12. 生成手写文字图片_如何把手机图片转成PDF文件?这个技巧你一定能学会!
  13. 【免费】自动检测删除微信好友教程 微信一键清死粉
  14. 实验三 网际协议IP 实验报告
  15. nas存储服务器磁盘阵列失效数据恢复过程
  16. PHP8与PHP7计算性能对比
  17. win7 桌面图标 计算机 灰色,win7系统桌面不显示计算机图标的解决方法
  18. MySQL查询之分组查询
  19. 幼儿认知发展虚拟仿真系统
  20. 双臂二指魔方机器人的制作(一)--总体设计

热门文章

  1. 详解深度学习中的Normalization,不只是BN(2)
  2. 开源代码上新!6 份最新「Paper + Code」 | PaperDaily #17
  3. 清华大学冯珺:基于强化学习的关系抽取和文本分类 | 实录·PhD Talk
  4. Android 开发 技术大纲 某学课堂
  5. 两种方法判断有向图是否有环【DFS】【拓扑排序】
  6. C++结构体多级排序的三种方法
  7. android获取apk名称_安卓逆向——APK安装流程
  8. 有一种努力叫:靠 自 己!
  9. MySQL查询连接数
  10. Spring Security——OAuth 2.0登录——Google,GitHub,Facebook和Okta