javascript回调函数的理解和使用方法(callback)教程视频
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异步请求,如果使用回调函数,代码就可以继续进行其他任务,而无需等待!
