关闭

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

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

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

关闭

JavaScript 高阶函数快速入门

把函数以数据的形式去使用,并解锁一些强大的模式。接受和/或返回另外一个函数的函数被称为高阶函数。之所以是高阶,是因为它并非字符串、数字或布尔值,而是从更高层次来操作函数。

a标签调用js函数写法总结

这是常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。

JavaScript高阶函数

Javascript中的函数本质上都指向某个变量,既然变量可以指向函数,函数的参数可以接受变量,那么函数是不是可以可以作为另一个函数的入参?因为Javascript是一门弱类型语言,不会对函数输入值和函数的输出值进行强定义和类型检查

JavaScript全局属性和全局函数

调用上面的全局函数而不是全局方法的属性是有意义的,因为函数是全局调用的,而不是任何对象。 无论如何,您也可以调用这些函数方法,因为它们是运行它们的全局对象的方法。在web浏览器中,全局对象是浏览器窗口

工作中常用的 JavaScript 函数片段

查找数组最小,同上,不明白为什么要分成两个题目。Math.max 换成 Math.min,s>n?s:n 换成 s<n?s:n,(n,m)=>m-n 换成 (n,m)=>n-m,或者直接取最后一个元素

JavaScript重构技巧-降低函数复杂度

JavaScript 是一种易于学习的编程语言,编写运行并执行某些操作的程序很容易。然而,要编写一段干净的JavaScript 代码是很困难的。

ES5中call,apply,bind方法总结

call,apply,bind这三个方法在JavaScript中是用来改变函数调用的this指向。那么改变函数this指向有什么用呢?我们先来看一段代码

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

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

Js map、reduce、filter 等高阶函数

高阶函数是对其他函数进行操作的函数,可以将它们作为参数或通过返回它们。简单来说,高阶函数是一个函数,它接收函数作为参数或将函数作为输出返回。例如Array.prototype.map,Array.prototype.filter

Js封装函数:获取下一个/上一个兄弟元素节点

获得下一个/上一个兄弟元素节点,不包括文本节点等,解决IE兼容性问题。代码实现:获得下一个兄弟元素节点,获得上一个兄弟元素节点

点击更多...

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