因为今天又遇到新的回调函数的形式

callback && callback();

所以搜了一下回调函数,发现真的好多人写得好复杂啊,看得我昏昏欲睡还是看不懂,还有看到有的人说是 主函数执行完再去执行回调函数,我顿时无语,直接看下面普通函数与回调函数的区别你就懂了

普通函数与回调函数的区别
对普通函数的调用:调用程序发出对普通函数的调用后,程序执行立即转向被调用函数执行,直到被调用函数执行完毕后,再返回调用程序继续执行。从发出调用的程序的角度看,这个过程为“调用–>等待被调用函数执行完毕–>继续执行”

对回调函数调用:调用程序发出对回调函数的调用后,不等函数执行完毕,立即返回并继续执行。这样,调用程序执和被调用函数同时在执行。当被调函数执行完毕后,被调函数会反过来调用某个事先指定函数,以通知调用程序:函数调用结束。这个过程称为回调(Callback),这正是回调函数名称的由来。

简单的一个例子,转载

var name = 'shimily';var age = 20;//主函数function goTime(callback) {console.log('hello');callback && callback();   //有回调就执行,没有回调就不执行console.log(age,'=========');}//回调函数function actEnd(){console.log(name); }/*调用方法*/goTime();  //如果不传方法,则代表不需要执行回调goTime(actEnd);   //test是个方法,此处可以打印出test的值

程序在执行主函数的时候,当执行到callback && callback();时,有回调就执行,没有回调就不执行,我们这里的回调函数是actEnd(),当时注意!这里执行回调函数actEnd()的时候,主函数还是在执行的

实战例子:

//回调函数
getFirstCategoryData(function (data) {/*一级分类默认渲染*//*模版的使用顺序:json数据,定义模版,调用模版,返回html*/$('.cate_left ul').html(template('firstTemplate',data));/*绑定事件*//*initSecondTapHandle();*//*第一个一级分类对应的二级分类*/var categoryId = $('.cate_left ul li:first-child').find('a').attr('data-id');render(categoryId);});//主函数
var getFirstCategoryData = function (callback) {$.ajax({url:'/category/queryTopCategory',type:'get',data:'',dataType:'json',success:function (data) {callback && callback(data);}});
};

之前写的有关于回调函数的理解

回调函数(简单易懂)相关推荐

  1. 【转】JS回调函数--简单易懂有实例

    JS回调函数--简单易懂有实例 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is ...

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

      初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数.什么是JS?(点击查看) 下面先看看标准的解释: <script language="javascript& ...

  3. 回调函数 简单理解

    初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is passed as an arg ...

  4. Python 回调函数的简单实例

    实例一: def func_add(x):return 2+xdef func_cll(x, func):return 1 + func(x)num = 2print(func_cll(num, fu ...

  5. 理解与使用Javascript中的回调函数

    在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被"存储"在变量中,能作为函数参数被传递,能在函数中被创建, ...

  6. 回调函数到底是怎么一回事呢

    今天看到回调函数,有点迷糊,找了好多搜索引擎的资料,都不是让我很能理解,看了<c和指针>我才明白了. 简单描述一下什么是回调函数: 用户把一个函数指针作为参数传递给其他函数,后者将&quo ...

  7. 【JavaScript】理解与使用Javascript中的回调函数

    在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被"存储"在变量中,能作为函数参数被传递,能在函数中被创建, ...

  8. 回调函数,回调函数,回调函数,什么是回调函数

    文章 目录 简介 一.回调函数是什么? 二.回调的demo 1.异步回调 2.安卓中的回调onclick 简介 问题引入: 在一个下载系统中,我要实现文件的下载和下载进度的显示.学习过面向对象的人来说 ...

  9. canvas学习day3——加载图片loadImage函数,理解回调函数

    回调函数 回调函数理解 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这个例子里,你的电话号码就 ...

  10. 回调函数必须要用static的原因

    在之前的一篇回调函数简单例子中就写了一个简单的回调小例子,这里补充一下. 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果.this作用域是在类内部,当在类的非静态成员 ...

最新文章

  1. Oracle:ORA-12560和ORA-01031
  2. Go语言封装Http协议GET和POST请求
  3. Ubuntu下mysql字符集设置
  4. Oracle的NVL函数
  5. 动态时间规整_动态规划-数组系列(10%)
  6. android 获取手机运行的进程
  7. C++语法:求vector中的最大值及其位置
  8. win7系统office向程序发送命令时出现错误
  9. 优先级队列——实现二维数组排序
  10. centos查看文件修改历史_Linux环境下查看历史操作命令及清除方法
  11. fopen php 读取_PHP fopen读取url内容
  12. HDU 4738 无向图求桥
  13. python中localtime和gtime的区别及时区计算的代码
  14. 【人工智能】2.博弈问题、博弈搜索策略
  15. windowsPE制作工具
  16. CVE-2021-42287、CVE-2021-42278域内提权漏洞
  17. error: cannot lock ref ‘refs/remotes/origin/release/xxxx‘: ‘refs/remotes/origin/release‘ 已存在,无法创建
  18. appcan中的微信分享与qq分享
  19. 未能找到下列包文件: C:\Users\Administrator\Desktop\DotNetFX40\dotNetFx40LP_Full_x86_x64zh-Hans.exe
  20. python编写MySQL数据库查询/操作软件代码

热门文章

  1. 宝塔上限制国内IP访问你的网站
  2. 论文阅读_基于知识的提示学习KnowPrompt
  3. chatgpt赋能python:Python图片处理教程
  4. 一次函数的概念、性质及函数图象特征
  5. 关于 java.library.path、classpath、path 以及 java 程序一些依赖相关的理解
  6. 易语言5.11破解精简版
  7. 替换android的hal支持阵列麦拾音
  8. pytorch 定义dice_coeff, SoftDiceLoss,BCELoss2d损失函数
  9. 人工智能可以自己学习吗?自学AI怎么样?
  10. 【精品课设】不同优化算法整定PID控制参数