美文网首页Java学习笔记每天写500字IT@程序员猿媛
Javascript第四章定义函数的形式、回调函数第五课

Javascript第四章定义函数的形式、回调函数第五课

作者: 您好简书 | 来源:发表于2019-07-12 09:54 被阅读8次
在这里插入图片描述

两者的区别:

第一种方法:函数声明在编写时可以先调用,再声明;

第二种方法:函数表达式必须先定义,再调用
<a class="btn btn-sm btn-red-hollow attention" id="btnAttent" target="_blank">更多免费教学文章<font color="blue" size="2">请关注这里</font></a>

在这里插入图片描述

函数的回调

在这里插入图片描述

主要的理解: 当用户用的时候,不是直接触发的状态,当他满足一定条件后执行叫回调函数

在这里插入图片描述

练习:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <script type="text/javascript">
        function show(){
            
            alert("欢迎来到Camel的空间");
            
        }
        
        window.onclick=show;//回调函数
    </script>
</head>
<body>
    
</body>
</html>
image.png
<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>

回调函数易混淆点——传参:
一,将回调函数的参数作为与回调函数同等级的参数进行传递。

image.png

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

image.png

翻译过来就是:回调函数是一个作为变量传递给另外一个函数的函数,它在主体函数执行完之后执行。

function A有一个参数function B,function B会在function A执行完成之后被调用执行。

三. 回调函数的使用方法

代码如下:

function a(callbackFunction){
alert("这是parent函数a");
var m =1;
var n=3;
return callbackFunction(m,n);
}
function b(m,n){
alert("这是回调函数B");
return m+n;
}
$(function(){
var result = a(b);
alert("result = "+ result);
});

执行顺序为:

这是parent函数a

这是回调函数B

result = 4

函数首先执行了主题函数a,之后调用了回调函数b,最后返回函数a的返回值。

相关文章

  • Javascript第四章匿名函数第七课

    匿名函数的作用: 1.用于回调2.一次性执行函数Javascript第四章定义函数的形式、回调函数第五课 http...

  • Javascript第四章匿名函数第七课

    匿名函数的作用: 1.用于回调2.一次性执行函数Javascript第四章定义函数的形式、回调函数第五课 http...

  • JavaScript系列之回调函数callback

    JavaScript系列之回调函数callback JavaScript回调函数的使用是很常见的,引用官方回调函数...

  • JavaScript回调函数基础

    javascript回调函数 5.函数的返回值 6.回调函数的基础

  • javascript回调函数

    javascript回调函数很玄幻。 jquery 中大量使用了回调函数。直到现在才看懂 普通回调函数 匿名回调函...

  • 回调函数

    在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行...

  • 小程序-回调函数

    在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行...

  • 小程序中的回调函数

    在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行...

  • Javascript第四章定义函数的形式、回调函数第五课

    两者的区别: 第一种方法:函数声明在编写时可以先调用,再声明; 第二种方法:函数表达式必须先定义,再调用 更多免费...

  • react中ref的两种使用方法

    ref一共有两种使用方式 回调函数形式(官方推荐) string形式 第一种 回调函数形式 回调函数形式一共有三种...

网友评论

    本文标题:Javascript第四章定义函数的形式、回调函数第五课

    本文链接:https://www.haomeiwen.com/subject/qagskctx.html