精华内容
下载资源
问答
  • JS回调函数深入理解

    2020-10-16 05:03:30
    主要介绍了JS回调函数,结合实例形式深入分析了js回调函数的概念、原理、使用方法及相关操作注意事项,需要的朋友可以参考下
  • 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数。  我们先来看看回调的英文定义:A callback is a function that is passed as an argument to another function and is executed after ...

    初学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(callback) {
        callback();  
        console.log('我是主函数');      
    }
    
    //定义回调函数
    function B(){
        setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作  
    }
    
    //调用主函数,将函数B传进去
    A(B);
    
    //输出结果
    我是主函数
    我是回调函数

    上面的代码中,我们先定义了主函数和回调函数,然后再去调用主函数,将回调函数传进去。

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


    展开全文
  • 一、理解js回调函数理解js中的回调,首先来看一下某jQuery网站上的英文定义,感觉理解起来比较清晰: A callback is a function that is passed as an argument to another function and is executed after its ...

    一、理解js回调函数

    要理解js中的回调,首先来看一下某jQuery网站上的英文定义,感觉理解起来比较清晰:

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

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

    形象的理解:回调,就是回头调用的意思。函数a的事先干完,回头再调用函数b。

    这里必须清楚一点:函数b是你以参数形式传给函数a的,那么函数b就叫回调函数。当然,如果你直接在函数a里调用的话,那么这个回调函数就被限制死了。而使用函数做参数就有下面的好处:当你a(b)的时候函数b就成了回调函数,而你还可以a(c)这个时候,函数c就成了回调函数。如果你写成了function a(){…;b();}就失去了变量的灵活性。

    二、回调函数的使用

    下面两个回调函数的例子:

    eg1:

    //定义
    function invokeADD(a,b){
        return a()+b();
    }
    function a(){
        return 1;
    }
    function b(){
        return 2;
    }
    
    //调用
    invokeADD(one,two);

    eg2:

    //定义
    function a(callback){  
        var m = 1;  
        var n = 2;  
        alert(callback(m,n));  
    }  
    function b(m,n){  
        return m+n;  
    }  
    
    //调用 
    a(b);  
    展开全文
  • JS回调函数(callback)理解

    万次阅读 多人点赞 2018-07-24 17:46:16
    今天有个刚入行的小兄弟问到了回调函数,讲解了一番以后觉得不能白讲,得把这些东西记下来,虽然很基础。。。 介绍 首先从英文介绍开始 A callback is a function that is passed as an argument to another ...

    前言

    今天有个小兄弟问到了回调函数,讲解了一番以后觉得不能白讲,得把这些东西记下来,虽然很基础。。。

    介绍

    首先从英文介绍开始

    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();}就失去了变量的灵活性。

    上一段代码大家可以跑一下:

    function a(callback)
    {   
        alert("我是parent函数a!");
        alert("调用回调函数");
        callback();
    }
    function b(){
    alert("我是回调函数b");
      
    }
    function c(){
    alert("我是回调函数c");
      
    }
      
    function test()
    {
        a(b);
       a(c);
    }

    根据代码示例加深理解

    问题:

    现在有函数如下定义:
    function A(a,callback){
    ....
    }
    function B(){
    ....
    }
    则可以有如下调用
    A(a,B);来实现回调。
    现在我希望传给B一个参数c,即实现类似于:  A(a,B(c)); 的效果,应该如何实现?

    function A(a,callback){ 
    var b=callback; 
    alert(a+b); 
    } 
    function B(c){ 
    return (-c); 
    } 
    A(4,B(3))

    根据jquery的ajax请求常见的场景再去写一个示例:

    我包装了jQuery的ajax方法:

    function doAjax(u,param,callback){
          $.ajax({
                type:'POST',
                url:u,
                data:param,
                success:callback
          });
    }
     
    function showAlert(data){
         alert(data);
    }
     
    

    比如这样调用 doAjax("url","id=1",showAlert);
    $.ajax 在success后,会返回一个data到showAlert中,显示出来 ,没有问题.
    可是,当我想多传一个参数给showAlert时怎么写?
    写成doAjax("server.php","id=12&type=1",showAlert("hi",data))、或者把上面的success:callback 写成success:callback(msg,data)显然都不行,如之奈何?

    其实很简单,很多方法都定义了回调函数,回调函数也是函数,就是说不管怎么传,只需要是个函数类型即可。写法如下:

    方式1,
    doAjax(参数1,参数2,function(request,opts){
             callback(request,opts,agrs);
     });
    function callback(request,opts,args){
                   
    };
    方式2,
    var args=N;
    doAjax(参数1,参数2,function(request,opts){
           var X=N;
           回调函数代码块..
           和以上几乎一样,看个人编码方式选择。     
    });

    再看一个从父函数传递给回调函数的示例

    function e(m,n,Callback){  
        var d = m+n;  
        alert("一个从父函数e 产生的参数将要被传递给回调函数 ,这个参数是:"+d);  
         
        //这里才写你想调用的函数---参数要正确  
        Callback(d);   
    }  
    function callback(data){  
            alert("我是回调函数,我的名字叫:callback ,我接收到来自父函数的参数,参数是:"+data);   
    }
    e(1,2,callback)  

    最后

    感谢各位的阅读,如有问题麻烦及时指正出来。

     

    展开全文
  • js回调函数理解

    2015-03-10 08:37:11
    一、什么是Javascript 回调函数?   1、函数和其他数据一样可以被赋值,删除,拷贝等,也可以把函数作为参数传入到另一个函数中。回调函数,其实就是把函数作为参数传到函数中去运用。   2、回调函数具体的...
    

    一、什么是Javascript 回调函数?

     

    1、函数和其他数据一样可以被赋值,删除,拷贝等,也可以把函数作为参数传入到另一个函数中。 回调函数,其实就是把函数作为参数传到函数中去运用。
     
    2、回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。
     

    3、因为函数在Javascript中是第一类对象,我们像对待对象一样对待函数,因此我们能像传递变量一样传递函数,在函数中返回函数,在其他函数中使用函数。当我们将一个回调函数作为参数传递给另一个函数是,我们仅仅传递了函数定义。我们并没有在参数中执行函数。我们并不传递像我们平时执行函数一样带有一对执行小括号()的函数。

    4、需要注意的很重要的一点是回调函数并不会马上被执行。

     
     
    二、回调函数将在以下几个方面帮助你:


    1、 避免重复代码
    2、 在你拥有更多多功能函数的地方实现更好的抽象(依然能保持所有功能)
    3、 让代码具有更好的可维护性
    4、使代码更容易阅读
    5、 编写更多特定功能的函数

     
     
    三、回调函数的使用场合
     

    1、资源加载:动态加载js文件后执行回调,加载iframe后执行回调,ajax操作回调,图片加载完成执行回调,AJAX等等。
     
    2、链式调用:链式调用的时候,在赋值器(setter)方法中(或者本身没有返回值的方法中)很容易实现链式调用,而取值器(getter)相对来说不好实现链式调用,因为你需要取值器返回你需要的数据而不是this指针,如果要实现链式方法,可以用回调函数来实现。

    3、setTimeout和setInterval方法

    4、异步调用(例如读取文件,进行HTTP请求,等等)



    文章转载自: js回调函数    http://www.studyofnet.com/news/705.html

    展开全文
  • 理解javascript回调函数

    2020-10-24 23:57:02
    主要介绍了理解javascript回调函数的相关资料,需要的朋友可以参考下
  • Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用。既然函数实际上是对象:它们能被“存储”在...回调函数可能是在Javascript中使用最多的函数式编程技巧,虽然在字面上看起来它...
  • JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。 callback 不一定用于...
  • js回调函数理解

    2018-04-02 15:00:56
    英文定义:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed我们可以理解为:将回调函数B当做一个参数,传递给另外一个函数A...
  • 一、 回调函数 回调函数:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数回调函数的实现:作为另一个函数的...
  • 一直接触回调函数这个名词,但是不知道具体是干什么的,今天在百度上看到了一句话让对回调函数产生了一点兴趣,那就是回调函数的英文解释: A callback is a function that is passed as an argument to another ...
  • 回调函数 简单理解

    2018-08-16 12:32:34
    初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数。  我们先来看看回调的英文定义:A callback is a function that is passed as an argument to another function and is executed after ...
  • js 彻底理解回调函数

    万次阅读 多人点赞 2017-02-10 13:53:58
    一、前奏在谈回调函数之前,先看下下面两段代码: 不妨猜测一下代码的结果。function say (value) { alert(value); } alert(say); alert(say('hi js.'));如果你测试了,就会发现:只写变量名 say 返回的将会是 say...
  • 在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,因为function实际上是一种对象,它可以“存储在变量中,通过参数传递给(别一个)函数(function...这是在JavaScript中使用回调函数的精髓。回调函数
  • 本文实例讲述了javascript回调函数的概念理解与用法。分享给大家供大家参考,具体如下: 一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就...
  • javascript 回调函数理解回调函数 其实就 是一般普通的函数而已,这“回调 ”一般是在AJAX应用中出 现的称呼,就是AJAX返回的结果处理函数。 回调函数 是有特殊事件触发的函数。 今天在...
  • 主要介绍了JS回调函数 callback的理解与使用,结合具体案例形式分析了javascript回调函数的功能、原理、用法及相关操作注意事项,需要的朋友可以参考下
  • js 回调函数理解总结

    2017-04-13 10:39:09
    js回调函数字面上理解:回调,回调,就是回头调用...这里必须清楚一点:函数b是你以参数形式传给函数a的,那么函数b就叫回调函数。 示例: html>   head>   title>回调函数(callback)title> script langu
  • 最近在学习ExtJS,在巩固javascript遇到回调函数时非常迷惑,遇到两个问题 : 1.回调函数的作用是什么?  2.回调函数可以完成什么功能? 针对特定代码来谈谈自己的理解: //被回调的方法 function ...
  • 理解回调函数:1.函数a作为一个参数传递给另一个函数b,那么a就是一个回调函数2.其实回调函数是一个闭包3.回调函数是实现异步编程的一种重要方式,b的处理一般是比较耗时的,a需要依赖b的处理结果,此时可以将a...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,190
精华内容 32,076
关键字:

回调函数js理解