javascript回调函数的理解和使用方法(callback)

时间: 2018-03-23阅读: 3635标签: 函数

js回调函数的作用?

js开发中,程序代码是从上而下一条线执行的,但有时候我们需要等待一个操作结束后,再进行下一步操作,这个时候就需要用到回调函数。  举个例子:

比如你到商场买东西,刚好没有你需要的货品,这时候你留下电话,店里有货了救让店员通知你,然后你接到电话到店里取到了货。这里的电话号码就可看做回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。(引用知乎常溪玲的回答,链接:https://www.zhihu.com/question/19801131/answer/13005983)


回调函数的解释 : 

js中,函数也是对象,确切地说:函数是用Function()构造函数创建的Function对象。它就可以存储在变量中,通过参数传递给另一个函数,在函数的内部创建,而函数中返回结果值。因为函数是内置对象。我们可以作为参数传递给另一个函数,到函数中执行,甚至执行后将他返回。 

 回调函数的英文解释为: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就是所谓的回调函数。我们先来看下面的例子: 

function  a(callback){
      console.log('a');
      callback.call(this);//或者是 callback(),  callback.apply(this),都可以的
}
function  b(){
     console.log('b');
}
//调用
a(b);//打印:a b

在实际的应用场景:比如一个函数的实现过程比较长,你是选择等待函数执行完再继续,还是使用回调函数进行处理呢?例如:ajax异步请求,如果使用回调函数,代码就可以继续进行其他任务,而无需等待!  



站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/540

js工厂函数创建对象与对象构造函数的理解

工厂函数,顾名思义,就是通过一个"工厂的加工" 来创建一个函数,这种操作在需要创建多个相似对象时可以有效地减少重复代码,但是这样有个缺点就是

用 await/async 正确链接Js中的多个函数

在我完成 electrade 的工作之余,还帮助一个朋友的团队完成了他们的项目。最近,我们希望为这个项目构建一个 Craiglist 风格的匿名电子邮件中继,其中包含 “serverless” Google Firebase Function

一个简单的函数消灭业务代码的低级错误

日常的前端开发业务代码中,我们经常都需要调试数据,所以要经常更改某些参数的初始化数据,或者更改过程中的数据。但是很多时候,改了数据调试完之后就忘记改回去了,某个调试的场景是依赖一个参数的修改还好

javascript中的匿名方法(函数)是什么?

方法(method)是通过对象调用的javascript函数。也就是说,方法也是函数,只是比较特殊的函数。JavaScript中的匿名方法即匿名函数是没有函数名称的函数。

eval到底哪里不好?

为什么要少用eval?eval是 js 中一个强大的方法。都说eval == evil等于true,这篇文章将研讨eval的几个缺点和使用注意事项。

Js方法/函数重载的实现

函数重载这项特性允许创建数项名称相同但输入输出类型或个数不同的子程序函数重载是强类型语言的特性,虽然 js 是弱类型语言,我们可以通过一些方法实现函数重载。

Extjs renderer函数

昨天提到了改变grid中 行的背景颜色,其实还有一个更简单的方法,就是利用renderer:function(){}函数,renderer 函数是一个拦截者模式,用于改变渲染到单元格的值和样式。

Js中document.execCommand()函数的使用

document.execCommand()方法处理Html数据时常用语法格式如下:document.execCommand(sCommand[,交互方式, 动态参数])其中:sCommand为指令参数(如下例中的”2D-Position”),交互方式参数如果是true的话将显示对话框,如果为false的话,则不显示对话框

云函数

云函数提供了一种 直接在云上运行,无状态的、短暂的、由事件触发的代码 的能力。ServerLess,即无服务器架构,也叫轻服务,它包含两个部分,如下:

“回调函数”超难面试题!!

进来的小伙伴可以先自己思考一下 。对于还属于小白的我来说扫了一眼这些代码的反应是:这都是什么鬼?但是我也比较喜欢钻研~ 仔细看了第二眼的反应是:这回调函数也太回调了吧

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广