JavaScript回调函数callback用法解析
这篇文章主要介绍了JavaScript回调函数callback用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
JavaScript回调函数的使用是很常见的,引用官方回调函数的定义:
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.
解释得很明确,回调函数就是作为参数传递给另一个函数并在其父函数完成后执行的函数。
听起来似乎有点不好理解,所以还是举例进行说明,介绍回调函数之前先简单说明一下同步和异步,前端也有同步和异步。同步和异步总得来说,两者最明显的区别就是是否需要等待,如果是串行执行的就是同步机制,是并行执行的就是异步机制,这个比较好理解
回调函数的使用并没有同步和异步的区别,回调函数只是一种特殊的函数,可以应用于同步调用场景,也可以应用于异步调用场景
异步请求中的回调函数
最常用的有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){ //省略打开弹窗代码 } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Js callBack 返回前一页的js方法
从页面a.html到页面b.html a.html 复制代码 代码如下: <html> <head> <title>a</title> <script language = "javascript"> function callBack(){ alert("Come back !"); } </script> </head> <body> <a href="
-
JavaScript callback回调函数用法实例分析
本文实例讲述了JavaScript callback回调函数用法.分享给大家供大家参考,具体如下: 在使用开源项目的时候经常会使用到回调函数,如果把回调函数弄清楚了,那么对我们深入了解开源项目会有很大帮助. 回调函数百度百科的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应.
-
Node.js 异步编程之 Callback介绍(一)
Node.js 基于 JavaScript 引擎 v8,是单线程的.Node.js 采用了与通常 Web 上的 JavaScript 异步编程的方式来处理会造成阻塞的I/O操作.在 Node.js 中读取文件.访问数据库.网络请求等等都有可能是异步的.对于 Node.js 新人或者从其他语言背景迁移到 Node.js 上的开发者来说,异步编程是比较痛苦的一部分.本章将由浅入深为大家讲解 Node.js 异步编程的方方面面.从最基础的 callback 到 thunk.Promise.co 直到
-
JS回调函数 callback的理解与使用案例分析
本文实例讲述了JS回调函数 callback的理解与使用.分享给大家供大家参考,具体如下: 基本理解一个概念 回调函数回头再调用函数,等主干事情干完了,再回头干分支上的事情. 官方定义 A callback is a function that is passed as an argument to another function and is executed after its parent function has completed. 实例1 //定义主函数,回调函数作为参数 func
-
理解javascript中的回调函数(callback)
最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: 复制代码 代码如下: app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); app是对象,use是方法,方法的参数是一个带参的匿名函数,函数体直接在后面给出了.这段代码
-
JavaScript中使用Callback控制流程介绍
javascript中随处可见的callback对于流程控制来说是一场灾难,缺点显而易见: 1.没有显式的return,容易产生多余流程,以及由此引发的bug. 2.造成代码无限嵌套,难以阅读. 下面就来说说怎么解决避免上述的问题. 第一个问题是一个习惯问题,在使用callback的时候往往会让人忘了使用return,这种情况在使用coffee-script的时候尤甚(虽然它在编译成javascript时会自行收集最后的数据作为返回值,但是这个返回值并不一定代表你的初衷).看看下面的例子. 复制
-
JavaScript加强之自定义callback示例
html: 复制代码 代码如下: <select id="select"> <option value="111">111</option> <option value="222">222</option> <option value="333">333</option> </select> js: 复制代码 代码如下: $().r
-
Javascript中的Callback方法浅析
什么是callback 复制代码 代码如下: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应. 这个解释看上去很复杂,于是找到了知乎上一个更好的解释 复制代码 代码如下: 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电
-
JavaScript回调(callback)函数概念自我理解及示例
此文适合JavaScript入门级选手阅读,高手就可以飘过了. 先扯点闲话.在中国,有这么一种现象:不管什么词或者概念,总会有些人把这些东西解释的神乎其神,貌似搞得别人听不懂就觉得自己很厉害的样子.其实不知道有多2.我个人比较崇尚简洁明了.什么词,什么概念,如果你能用简短的一两句话让大家听明白,这才是本事.好了,闲话不扯了,进入正题. 在JavaScript里什么叫Callback"回调函数",用我的话来讲就是把方法b当做一个参数传递个方法a,当方法a执行完后执行另外一个指定函数(这里
-
JavaScript回调函数callback用法解析
这篇文章主要介绍了JavaScript回调函数callback用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JavaScript回调函数的使用是很常见的,引用官方回调函数的定义: A callback is a function that is passed as an argument to another function and is executed after its parent function has complete
-
javascript回调函数的概念理解与用法分析
本文实例讲述了javascript回调函数的概念理解与用法.分享给大家供大家参考,具体如下: 一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为函数实际上是一种对象,它可以存储在变量中,通过参数传递给另一个函数,在函数内部创建,从函数中返回结果值",因为函数是内置对象,我们可以将它作为参数传递给另一个函数,到函数中执行,甚至执行后将它返回,它一直被"专业的程序员"
-
C++中回调函数(CallBack)的用法分析
本文实例分析了C++中回调函数(CallBack)的用法.分享给大家供大家参考.具体分析如下: 如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过. 其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即"this"指针,C++通过传递this指针给其成员函数从而实现程序函数可以访问C++的数据成员.这也可以理解为什么C++类的多个实例可以共享成员函数却-有不同的数据成员.由于this指针的作用,使得将一个CALL-BACK型的成员函数作为回调函数安装时
-
关于Javascript回调函数的一个妙用
前言 其实回调函数简单通俗点就是当有a和b两个函数,当a作为参数传给b,并在b中执行,这时a就是一个回调(callback)函数,如果a是一个匿名函数,则为匿名回调函数那下面们来通过一个实例来具体解释下Javascript回调函数怎么使用. 实例 在很久很久以前,有一个人. var person; 他是个人,也就是一个对象. person= {}; // 在JavaScript中,花括号就代表是一个对象 他有个名字叫小明. person.name = '小明'; 看一下是不是真的叫小明. ale
-
JS回调函数简单用法示例
本文实例讲述了JS回调函数简单用法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>testCallBack.html</title> </head> <body> <
-
javascript回调函数详解
在高级语言层出不穷的年代, 各个语言都号称有着一切皆为对象的自豪说法, 而 js 作为一门脚本语言却相对于java等传统面向对象语言有很大的不同之处, 除了 js 诡异的继承体系之外, 最令人着迷的一个特性就是回调函数, 当然也有很多人对他诟病, 笔者认为 回调函数 和 异步 是js语言特性的两大最为突出的店, 当然正如所有优点需要满足自我的需求, 这个世界没有银弹, 比如大量的使用回调函数将会使你的代码冗余, 错乱影响代码人的视觉与思维体验. 本文是自己对学习回调函数的的体会, 难免不完善甚至
-
关于JavaScript回调函数的深入理解
前言 JavaScript回调函数是成为一名成功的 JavaScript 开发人员必须要了解的一个重要概念.但是我相信,在阅读本文之后,你将能够克服以前使用回调方法遇到的所有障碍. 在开始之前,首先要确保我们对函数的理解是扎实的. 快速回顾:JavaScript 函数 什么是函数? 函数是在其中有一组代码的逻辑构件,用来执行特定任务.实际上为了易于调试和维护,函数允许以更有组织的方式去编写代码.函数还允许代码重用. 你只需定义一次函数,然后在需要时去调用它,而不必一次又一次地编写相同的代码. 声
-
jQuery.Callbacks()回调函数队列用法详解
本文实例讲述了jQuery.Callbacks()回调函数队列用法.分享给大家供大家参考,具体如下: 1.jQuery.Callbacks The jQuery.Callbacks() function, introduced in version 1.7, returns a multi-purpose object that provides a powerful way to manage callback lists. It supports adding, removing, firi
-
浅析JS中回调函数及用法
回调函数,什么是回调函数呢?很多初学者都不是很明白,感觉懵懵的,不理解,更不会用! 其实简单理解的话就是在一个函数执行完毕后,得到想要的特定数据后在去执行的函数,并没有性药中的那么高深! function getdata(callback){ //这里我们假设是从后端获取数据 setTimeout(function(){ //假设我们获取到数据info var info = { "id":1, "name":'张三' } //得到数据以后执行函数方法 callbac
随机推荐
- JavaScript常用代码书写规范的超全面总结
- Ajax+Json 级联菜单实现代码
- Java实现Html转Pdf的方法
- javascript闭包的高级使用方法实例
- 仿dedecms下拉分页样式修改的thinkphp分页类实例
- 截取指定符号之间的字符串(随机读取)delphi实例代码
- c#定时运行程序分享(定时程序)
- CentOS mysql安装系统方法
- C#调用动态unlha32.dll解压Lha后缀的打包文件分享
- 布局遇到的问题 非常不错的见解
- jQuery实现模仿微博下拉滚动条加载数据效果
- Node.js Addons翻译(C/C++扩展)
- 关于mysql 3.0的注射的一点思路
- C#使用HtmlAgilityPack抓取糗事百科内容实例
- Linux 自动唤醒和关闭的实现方法
- 在python下使用tensorflow判断是否存在文件夹的实例
- 解决Django加载静态资源失败的问题
- Python目录和文件处理总结详解
- 使用virtualenv创建Python环境及PyQT5环境配置的方法
- php常用的工具开发整理