JS回调函数——简单易懂有实例
初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数。什么是JS?(点击查看)
下面先看看标准的解释:
<script language="javascript">
02 function SortNumber( obj, func ) // 定义通用排序函数
03 {
04 // 参数验证,如果第一个参数不是数组或第二个参数不是函数则抛出异常
05 if( !(obj instanceof Array) || !(func instanceof Function))
06 {
07 var e = new Error(); // 生成错误信息
08 e.number = 100000; // 定义错误号
09 e.message = "参数无效"; // 错误描述
10 throw e; // 抛出异常
11 }
12 for( n in obj ) // 开始排序
13 {
14 for( m in obj )
15 {
16 if( func( obj[n], obj[m] ) ) // 使用回调函数排序,规则由用户设定
17 {
18 var tmp = obj[n]; // 创建临时变量
19 obj[n] = obj[m]; // 交换数据
20 obj[m] = tmp;
21 }
22 }
23 }
24 return obj; // 返回排序后的数组
25 }
我们先来看看回调的英文定义:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed。
字面上的理解,回调函数就是传递一个参数化的函数,就是将这个函数作为一个参数传到另一个主函数里面,当那一个主函数执行完之后,再执行传进去的作为参数的函数。走这个过程的参数化的函数 就叫做回调函数。换个说法也就是被作为参数传递到另一个函数(主函数)的那个函数就叫做 回调函数。
举一个别人举过的例子:约会结束后你送你女朋友回家,离别时,你肯定会说:“到家了给我发条信息,我很担心你。” 对不,然后你女朋友回家以后还真给你发了条信息。小伙子,你有戏了。其实这就是一个回调的过程。你留了个参数函数(要求女朋友给你发条信息)给你女朋友,然后你女朋友回家,回家的动作是主函数。她必须先回到家以后,主函数执行完了,再执行传进去的函数,然后你就收到一条信息了。
回调函数应用场景多用在使用 js 写组件时和耗时操作上面,尤其是组件的事件很多都需要回调函数的支持。
如果还是不明白,下面看一下代码:
<script type="text/javascript">function title(value){//这是回调函数!!!!alert(value);}function main(title, value){//这个主函数:在参数列表中,title作为一个参数传递进来,也就是上文说的 参数化函数;然后value这个值正是title()函数中所需要的。alert("我是主函数");title(value);//结果为:'我是回调函数'。——————然后在这行这个title(),它就是回调函数咯。}main(title,"我是回调函数");//title参数加上()后,就会变回一个函数,并会被执行一次。//PS:看清楚,调用的是main()函数,意味着先执行main(),这时已经执行了主函数,title()被main()在函数体中执行了一次,因此title()是回调函数。</script>
回调函数易混淆点——传参:
一,将回调函数的参数作为与回调函数同等级的参数进行传递。
二,回调函数的参数在调用回调函数内部创建。
如果还有不懂的,请在下方留言,小编一定第一时间回复。
JS回调函数——简单易懂有实例相关推荐
- 【转】JS回调函数--简单易懂有实例
JS回调函数--简单易懂有实例 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is ...
- js回调函数的理解(轉)
js回调函数(callback)理解Mark!讲之前说一句function say(){alert(,,,,,,,,)}var say=function (){alert(,,,,,,,)}var s ...
- PHP - 回调函数概念与用法实例分析 - 学习/实践
1.应用场景 主要用于理解回调函数的概念, 对比JavaScript中的回调函数, 更加深刻理解回调函数的本质, 以及如何高效使用~~~ 2.学习/操作 1. 文档阅读 https://www.jb5 ...
- node.js 回调函数
Node.js 回调函数 Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数, ...
- js回调函数获取异步返回值
js回调函数获取异步返回值 1.尝试获取异步返回值 function test(){var res = 0;setTimeout(function(){res = 1;},1000)return re ...
- JS回调函数(callback)
在使用Jquery的时候,用到Callback(),回调函数的概念.而且很多. 比如: $.ajax({url:"test.json",type: "GET", ...
- html js 回调函数,js中回调函数的学习笔记
回调函数是什么在学习之前还真不知道js回调函数怎么使用及作用了,下面本文章把我在学习回调函数例子给各位同学介绍一下吧,有需了解的同学不防进入参考. 回调函数原理: 我现在出发,到了通知你" ...
- mysql.js回调函数_js回调函数(callback)
Mark! js学习 不喜欢js,但是喜欢jquery,不解释. 自学jquery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速google之,发现原来中文翻译成回调.也就是回调函 ...
- js 回调函数小例子
js 回调函数小例子 1 <script> 2 //将函数作为另一个函数的参数 3 function test1(){ 4 alert("我是test1"); 5 } ...
最新文章
- mysql internal_MySQLInternal笔记
- C++类为什么使用private?------封装性
- Win8 Hyper-V虚拟机 安装运行Ubuntu教程
- window10使用 Hyper-V 创建ubuntu虚拟机并使用增强会话功能
- 【送书】2021年哪些好书值得读(小姐姐配音)
- Hexo-theme-Fluid Material Design 风格的 Hexo 主题
- Java多线程学习三十四:使用 Future 有哪些注意点?Future 产生新的线程了吗
- loadView 和 viewDidLoad、viewDidunload 的区别
- 王招治计算机财务管理,计算机财务管理——以Excel为分析工具
- android toolbar 搜索框,SearchView配合RecyclerView实现分页搜索过滤关键字
- [自学考试] [02142数据结构导论] Part1 概论
- ARX中各种坐标系及Transfrom操作相关
- 200行Py代码带你实现打飞机
- 书论92 侯仁朔《侯氏书品》
- web漏洞扫描器-Burpsuite 常规测试
- Cypress系列(50)- wrap() 命令详解
- 数字化时代下,智能运维全栈监控解决方案及案例盘点
- linux下tp驱动程序,Linux安装TP-Link TL-WN722N 驱动
- elasticsearch分词器Jcseg安装手册
- error creating overlay mount to /var/lib/docker/overlay2
热门文章
- 再见了微服务!K8S 云原生架构已成气候!
- mysql 什么是幻读_何为幻读?MySQL又是如何解决幻读的?
- SAP云产品部署方式及定价模型
- 小菜鸡的html初步教程(第十三章 使用WEB字体)
- 机器学习预测的概率如何表示?
- 记录我的缺点、优点、记录生活方式,总结并不断优化自己
- MATERIALISE_MAGICS_TOOLING_EXPERT_V2.1.1-LND
- JSP页面兼容IE7
- Echarts图表大小自适应浏览器窗口大小
- macbook pro 突破校园网inode客户端限制分享网络