zoukankan      html  css  js  c++  java
  • 什么是javascript的回调函数?

    回调函数(callback) 基本上每本书里都会提一提实际上我们几乎每天都在用回调函数,那么如果问你到底什么是回调函数呢?

    1. 回调函数是作为参数传递给另一个函数
    2. 函数运行到某种程度时,执行回调函数

    3 回调函数是异步的

    为什么需要回调函数:
    异步:一般ajax请求都是异步的。请求发出去后,处理器会继续执行下面的代码。如果你想ajax请求完成后,做一些事情,显然,直接在下一行写代码是达不到目的。而作为回调函数传给ajax请求,可以控制请求在哪个阶段去调用回调函数,并且不用担心后面的代码执行到什么地方了。

    同步:也许你可以不用回调函数也能做同样的事情。但是,使用回调函数,封装性更好,在结构上看上去更紧凑,还可以传入一些局部变量给回调函数。
    $.get('url',{params...},function(data){  //dosomething});
    //other function....

    function(data){}
    这是回调,其实是将这个函数做为一个参数传到请求中,在请求的内部实现中会是一系列操作完成后来执行这个函数。


    如果像下面这种写法

    var result;
    $.get('url',{params...},function(data){
    result=data
    });
    myFunction(result){
    //so something
    }
    看着是合理的,回调完成之后给全局变量result赋值,然后去做其他的事情
    可是js不是等$.get完全走完后,拿到返回的data赋值给result再继续走后面的代码。如上面的写法问题就是data还没返回,就已经开始执行myFunction了,而此时的result还是个null


  • 相关阅读:
    按之字形数据打印二叉树
    对称的二叉树
    如何解决哈希冲突
    二叉树的下一节点
    删除链表中重复的节点
    链表的入环节点
    python入门
    js计算总页数
    将map中的值赋值给一个java对象
    给手机发送短信
  • 原文地址:https://www.cnblogs.com/Tjinhui/p/6683279.html
Copyright © 2011-2022 走看看