自学jquery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗。迅速google之,发现原来中文翻译成回调。也就是回调函数了。不懂啊,于是在google回调函数,发现网上的中文解释实在是太“深奥”了,我承认自己才疏学浅了。看了几个回调的例子后,貌似有点理解了。下面是我对回调函数的理解,要是理解错了,请指正,不甚感激。

首先还是从jquery网站上的英文定义入手,身为国人,我真感到悲剧。一个回调的定义被国内的“高手”解释成什么样,就在那绕圈子,貌似只有把你绕进去了,他才算高手。浮云,一切都是浮云。

A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.

这是js里的解释了,其他语言的算我没说。

字面上理解下来就是,回调就是一个函数的调用过程。那么就从理解这个调用过程开始吧。函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b。那么这个过程就叫回调。

其实中文也很好理解:回调,回调,就是回头调用的意思。函数a的事先干完,回头再调用函数b。

举个现实的例子:约会结束后你送你女朋友回家,离别时,你肯定会说:“到家了给我发条信息,我很担心你。”对不,然后你女朋友回家以后还真给你发了条信息。小伙子,你有戏了。

其实这就是一个回调的过程。你留了个函数b(要求女朋友给你发条信息)给你女朋友,然后你女朋友回家,回家的动作是函数a。她必须先回到家以后,函数a的内容执行完了,再执行函数b,然后你就收到一条信息了。

这里必须清楚一点:函数b是你以参数形式传给函数a的,那么函数b就叫回调函数。

也许有人有疑问了:一定要以参数形式传过去吗,我不可以直接在函数a里面调用函数b吗?确实可以。求解中。

<解惑:如果你直接在函数a里调用的话,那么这个回调函数就被限制死了。但是使用函数做参数就有下面的好处:当你a(b)的时候函数b就成了回调函数,而你还可以a(c)这个时候,函数c就成了回调函数。如果你写成了function a(){...;b();}就失去了变量的灵活性。>

下面用代码来证实我的理解。

  1. <html>
  2. <head>
  3. <title>回调函数(callback)</title>
  4. <script language="javascript" type="text/javascript">
  5. function a(callback)
  6. {
  7. alert("我是parent函数a!");
  8. alert("调用回调函数");
  9. callback();
  10. }
  11. function b(){
  12. alert("我是回调函数b");
  13. }
  14. function c(){
  15. alert("我是回调函数c");
  16. }
  17. function test()
  18. {
  19. a(b);
  20. a(c);
  21. }
  22. </script>
  23. </head>
  24. <body>
  25. <h1>学习js回调函数</h1>
  26. <button onClick=test()>click me</button>
  27. <p>应该能看到调用了两个回调函数</p>
  28. </body>
  29. </html>

转载于:https://www.cnblogs.com/yhql/archive/2011/08/08/2131420.html

JS 回调(CallBack)相关推荐

  1. JS回调函数(callback)

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

  2. mysql.js回调函数_js回调函数(callback)

    Mark! js学习 不喜欢js,但是喜欢jquery,不解释. 自学jquery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速google之,发现原来中文翻译成回调.也就是回调函 ...

  3. 【转】JS回调函数--简单易懂有实例

    JS回调函数--简单易懂有实例 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is ...

  4. js回调函数的理解(轉)

    js回调函数(callback)理解Mark!讲之前说一句function say(){alert(,,,,,,,,)}var say=function (){alert(,,,,,,,)}var s ...

  5. html js 回调函数,js中回调函数的学习笔记

    回调函数是什么在学习之前还真不知道js回调函数怎么使用及作用了,下面本文章把我在学习回调函数例子给各位同学介绍一下吧,有需了解的同学不防进入参考. 回调函数原理: 我现在出发,到了通知你" ...

  6. miniblink载入html,(转)miniblink跨线程异步JS回调,及miniblink提升首屏加载速度的代码...

    转自:aardio培训群 , 感谢 Jacen He 校长提供代码 miniblink 不能回调JS确实非常麻烦, 因为用web做界面,很自然的会调用耗时操作,不能回调逻辑会变的很复杂. 针对这个aa ...

  7. js回调函数获取异步返回值

    js回调函数获取异步返回值 1.尝试获取异步返回值 function test(){var res = 0;setTimeout(function(){res = 1;},1000)return re ...

  8. JavaScript基础——回调(callback)是什么?

    上篇文章<JavaScript基础--你真的了解JavaScript吗?>,我们明白了JavaScript是一个单线程.非阻塞.异步.解释性语言,清楚了什么是单线程.进程.阻塞.调用堆栈. ...

  9. java 回调(callback)函数简介.

    一, 什么是回调函数(callback) 假如类A有1个方法a(), 但是它不知道什么时候调用这个方法a(). 而类B告诉类A, 我知道什么时候调用.    那么类A就把自己交给类B(作为类B的一个成 ...

  10. Java 回调 (Callback) 接口学习使用

    文章目录 Java 回调 (Callback) 接口学习使用 1.什么是回调(Callback)? 2.Java代码示例 2.直接调用 3.接口调用 4.Lambda表达式 推荐看我的InfoQ地址, ...

最新文章

  1. JavaScript实现图像处理----resizeImageWidth调整图像宽度算法(附完整源码)
  2. 有关UITableView--cell复用问题
  3. usb声卡驱动_iCON ProDrive第三代USB声卡驱动全新发布!
  4. 指北针邮件工具 v1.5.6.1
  5. deepfake ai智能换脸_AI 换脸、声音篡改等,明确写入新版民法典!
  6. iOS 缓存的获取计算与清除归零
  7. mysql 存储表情_MySQL支持存储emoji表情
  8. ----uni-app之APP更新及静默更新----
  9. 互联网金融网站走马观花
  10. CVPR 2020文本图像检测与识别论文/代码
  11. 面试官:CountDownLatch 与 CyclicBarrier 的使用场景?有什么区别?
  12. UVA11107 Life Forms --- 后缀数组
  13. 查看磁盘阵列 使用率(简单)
  14. Mysql三种备份,mysqdump,xtrabackup工具,基于lvm-snapshot快照备份等。
  15. 错误记录(Unindent amount does not match previous indent)
  16. 电脑系统相关问题收录(windows10)
  17. 2019牛客多校第九场 H Cutting Bamboos (二分主席树)
  18. .playground文件_部署可教学机器:Circuit Playground Express,Arduino,P5.js,TinyUSB
  19. 【RuoYi框架】RuoYi框架学习超简单案例 - 新闻管理系统(附源码)
  20. 深入理解德语动词变化(一)

热门文章

  1. C#使用RabbitMQ(转)
  2. 图片hover且设置transform其父级border-radius失效
  3. SIGPIPE信号处理
  4. pycharm调节字体大小
  5. python 读取access_python读取数据access出错
  6. python与vb可以互换吗_VB6+Python混合编程(COM组件)(转)
  7. ykhmi是什么触摸屏软件_触摸屏如何读写变频器参数?如何控制变频器?实操步骤及方法分享...
  8. 注入dll到explorer.exe中无反应_【干货】制鞋大底生产中常见问题及解决
  9. 如何调节idea jvm的最大内存_那个小白还没搞懂内存溢出,只能用案例说给他听了
  10. cpu顶盖怎么看步进_拆解报告|360AI音箱,深度硬件解析,带你看懂360智能音箱内部...