zoukankan      html  css  js  c++  java
  • js中的回调函数的理解和使用方法

    js中的回调函数的理解和使用方法

    一. 回调函数的作用

    js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数。

    二. 回调函数的解释

    因为函数实际上是一种对象,它可以存储在变量中,通过参数传递给另一个函数,在函数内部创建,从函数中返回结果值”,因为函数是内置对象,我们可以将它作为参数传递给另一个函数,到函数中执行,甚至执行后将它返回,它一直被“专业的程序员”看作是一种难懂的技术。

    回调函数的英文解释为:

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

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

    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的返回值。

    再看一段代码:

    //定义主函数,回调函数作为参数function A(callback) {
    callback();
    console.log('我是主函数');
    }

    //定义回调函数function B(){
    setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作 }

    //调用主函数,将函数B传进去A(B);

    //输出结果我是主函数

    我是回调函数

    上面的代码中,我们先定义了主函数和回调函数,然后再去调用主函数,将回调函数传进去。
    定义主函数的时候,我们让代码先去执行callback()回调函数,但输出结果却是后输出回调函数的内容。这就说明了主函数不用等待回调函数执行完,可以接着执行自己的代码。所以一般回调函数都用在耗时操作上面。比如ajax请求,比如处理文件等。

  • 相关阅读:
    剑指 Offer 51. 数组中的逆序对
    剑指 Offer 68
    剑指 Offer 68
    JS绑定事件三种方式
    图片懒加载原理及实现
    资源加载过程
    了解JS单线程和任务队列!
    JS函数作用域提升
    JS函数种类详解
    ES6之模版字符串
  • 原文地址:https://www.cnblogs.com/flower-qh/p/7127004.html
Copyright © 2011-2022 走看看