JavaScript回调函数callback用法解析_javascript技巧

来源:脚本之家  责任编辑:小易  

js 中的回调函数 和其他语言中的回调函数一样啊。就是有一个 方法,这个方法的参数有点小脾气,其中一个或多个参数要求的类型是方法,这个方法就 是回调函数。当这个方法执行完成,或者中间步骤会使用你传入的这个方法…function a(x,c){c(x);}a("hello!function(y){alert(y);})例子如上,当写a函数的时候,还不知道 c 是干什么的,只知道要对x做某件事情,当然x是什么也不知道当调用 函数a 时,知道了 被操作的值 x 为“hello!而操作方法是 alert,如此而已。当然我们在调用的时候也可以 将这个alert方法 改 为 某个 div 的innerHTML,写入某个位置,但是 a方法是没有变化的www.zgxue.com防采集请勿采集本网。

这篇文章主要介绍了JavaScript回调函数callback用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在最后返回的时候这样写就好了 return AA();

JavaScript回调函数的使用是很常见的,引用官方回调函数的定义:

function ClassB(ClassA){ onclick=function(){ClassA(data)};}

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

function doAjax(u,param,callback){ ajax({ type:'POST', 调用doajax的时候,回调函数的写法变一下,就可以了。我把你server的后缀名去掉了,免得审核不过,你加下。测试过没有问题。

解释得很明确,回调函数就是作为参数传递给另一个函数并在其父函数完成后执行的函数。

不要在意“回调”总结一下,当一个函数B他的参数实际上被用来传递一个方法A,我们不用管B拿A做了什么,我们只要知道A被传入到了B中,A的生杀大权由B掌握,那么将A传入B的那个形参就是B的回调函数

听起来似乎有点不好理解,所以还是举例进行说明,介绍回调函数之前先简单说明一下同步和异步,前端也有同步和异步。同步和异步总得来说,两者最明显的区别就是是否需要等待,如果是串行执行的就是同步机制,是并行执行的就是异步机制,这个比较好理解

首先 function 在js中也是一个对象,可以作为参数传递给另外的function;然后主方法执行完,你可以根据传入的函数引用,自行调用;function a(){ console.log('a')} function b(callback){console.log('b

回调函数的使用并没有同步和异步的区别,回调函数只是一种特殊的函数,可以应用于同步调用场景,也可以应用于异步调用场景

异步请求中的回调函数

最常用的有ajax异步调用或者事件机制,例子:

$.get('${root}/saveOrUpdate.do',function(result){ alert(result); });

同步请求中的回调函数

业务场景:举个例子,点击按钮会触发main函数,进行接口数据保存(异步方式),数据保存成功之后,再回调打开弹窗的函数

保存数据函数:

function saveRecord(seq,callback){ $.ajax({ url:'${root}/saveOrUpdate.do', type:"post", async:true, success:function(result){ //确保callback是一个函数类型的 if(typeof(callback)==='function'){ callback(true); } } }); }

main函数

//保存成功,才会打开弹窗 function main(seq){ saveRecord(seq,callbackFunction); }

回调函数,数据保存成功后再调用

/*保存时的回调函数*/ function callbackFunction(saveSuccess){ if(saveSuccess){ //省略打开弹窗代码 } }

所谓回调函数实质就是把某个函数的地址通过参数传递给使用方(也是1个函数),然后使用方可以通过该地址找到那个函数然后调用。和c里边的函数指针是一样的。你看这个URL里的例子就很好。不单举例说明回调函数,还说明了对于其调用和取值的不同。http://www.javaeye.com/topic/301453内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • js回调函数 callback的理解与使用案例分析
  • javascript callback回调函数用法实例分析
  • node.js 异步编程之 callback介绍(一)
  • javascript中使用callback控制流程介绍
  • javascript中的callback方法浅析
  • 理解javascript中的回调函数(callback)
  • javascript加强之自定义callback示例
  • javascript回调(callback)函数概念自我理解及示例
  • js callback 返回前一页的js方法
  • js验证 只能输入小数点,数字,负数的实现方法
  • js开发中百度地图+城市联动实现实时触发查询地址功能
  • chrome不支持form.submit的解决方案
  • javascript 字符串与数组转换函数[不用split与join]
  • js+css实现美化的下拉列表框效果
  • js每隔5分钟执行一次ajax请求的实现方法
  • javascript先序遍历dom树的方法
  • js仿windows开机启动loading进度条的方法
  • js实现适合新闻类图片的轮播效果
  • layer弹出层动态获取数据的方法
  • JavaScript的回调函数
  • JavaScript 回调函数怎么理解
  • javascript回调函数参数问题
  • 什么是JavaScript中的回调函数,作用是什么?
  • javascript中如何将回调函数的值返回
  • javascript 回调函数 参数问题
  • javascript回调函数中如何传参
  • JavaScript 回调函数怎么理解
  • JavaScript 回调函数怎么理解
  • javascript 回调函数事情问题
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全基础知识javascript类库表单特效广告代码网页特效黑客性质javascript技巧domnode.jsjs其它首页javascriptjavascript技巧js回调函数 callback的理解与使用案例分析javascript callback回调函数用法实例分析node.js 异步编程之 callback介绍(一)javascript中使用callback控制流程介绍javascript中的callback方法浅析理解javascript中的回调函数(callback)javascript加强之自定义callback示例javascript回调(callback)函数概念自我理解及示例js callback 返回前一页的js方法js验证 只能输入小数点,数字,负数的实现方法js开发中百度地图+城市联动实现实时触发查询地址功能chrome不支持form.submit的解决方案javascript 字符串与数组转换函数[不用split与join]js+css实现美化的下拉列表框效果js每隔5分钟执行一次ajax请求的实现方法javascript先序遍历dom树的方法js仿windows开机启动loading进度条的方法js实现适合新闻类图片的轮播效果layer弹出层动态获取数据的方法js刷新页面方法大全js中settimeout()的用法详解js截取字符串常用方法详细整理js页面跳转常用的几种方式js打开新窗口的2种方式js数组与字符串的相互转换方法js设置cookie、读取cookie、删除js 将json字符串转换为json对象的javascript深入理解js闭包js删除数组里的某个元素方法view.post() 不靠谱的地方你知道多少swtich/if...else的替代语句javascript clonenode()方法的使用dess中一个简单的多路委托的实现js 动态创建 html元素javascript中字符串和数字的操作方法整理javascript编码风格指南(中文版)一个简单的弹性返回顶部js代码实现介绍微信小程序商品详情页底部弹出框javascript正则表达式使用replace()替换手
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved