JS回调函数——简单易懂有实例

JS回调函数——简单易懂有实例

2018年05月11日 17:33:02 hu_beliefs 阅读数 11597

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/hu_belif/article/details/80284140

   初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数。什么是JS?(点击查看

下面先看看标准的解释:

    

 
  1. <script language="javascript">

  2. 02 function SortNumber( obj, func ) // 定义通用排序函数

  3. 03 {

  4. 04 // 参数验证,如果第一个参数不是数组或第二个参数不是函数则抛出异常

  5. 05 if( !(obj instanceof Array) || !(func instanceof Function))

  6. 06 {

  7. 07 var e = new Error(); // 生成错误信息

  8. 08 e.number = 100000; // 定义错误号

  9. 09 e.message = "参数无效"; // 错误描述

  10. 10 throw e; // 抛出异常

  11. 11 }

  12. 12 for( n in obj ) // 开始排序

  13. 13 {

  14. 14 for( m in obj )

  15. 15 {

  16. 16 if( func( obj[n], obj[m] ) ) // 使用回调函数排序,规则由用户设定

  17. 17 {

  18. 18 var tmp = obj[n]; // 创建临时变量

  19. 19 obj[n] = obj[m]; // 交换数据

  20. 20 obj[m] = tmp;

  21. 21 }

  22. 22 }

  23. 23 }

  24. 24 return obj; // 返回排序后的数组

  25. 25 }

  26.  

 

 

 

  我们先来看看回调的英文定义:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed。

  字面上的理解,回调函数就是传递一个参数化的函数,就是将这个函数作为一个参数传到另一个主函数里面,当那一个主函数执行完之后,再执行传进去的作为参数的函数。走这个过程的参数化的函数 就叫做回调函数。换个说法也就是被作为参数传递到另一个函数(主函数)的那个函数就叫做 回调函数

     举一个别人举过的例子:约会结束后你送你女朋友回家,离别时,你肯定会说:“到家了给我发条信息,我很担心你。” 对不,然后你女朋友回家以后还真给你发了条信息。小伙子,你有戏了。其实这就是一个回调的过程。你留了个参数函数(要求女朋友给你发条信息)给你女朋友,然后你女朋友回家,回家的动作是主函数。她必须先回到家以后,主函数执行完了,再执行传进去的函数,然后你就收到一条信息了。

     回调函数应用场景多用在使用 js 写组件时和耗时操作上面,尤其是组件的事件很多都需要回调函数的支持。

 

如果还是不明白,下面看一下代码:

 
  1. <script type="text/javascript">

  2. function title(value){//这是回调函数!!!!

  3. alert(value);

  4. }

  5. function main(title, value){//这个主函数:在参数列表中,title作为一个参数传递进来,也就是上文说的 参数化函数;然后value这个值正是title()函数中所需要的。

  6. alert("我是主函数");

  7. title(value);//结果为:'我是回调函数'。——————然后在这行这个title(),它就是回调函数咯。

  8. }

  9. main(title,"我是回调函数");//title参数加上()后,就会变回一个函数,并会被执行一次。

  10. //PS:看清楚,调用的是main()函数,意味着先执行main(),这时已经执行了主函数,title()被main()在函数体中执行了一次,因此title()是回调函数。

  11. </script>

回调函数易混淆点——传参:

一,将回调函数的参数作为与回调函数同等级的参数进行传递。

二,回调函数的参数在调用回调函数内部创建。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值