什么是JS回调函数

JavaScript021

什么是JS回调函数,第1张

回调函数就是某个函数执行完毕后执行的函数,没什么的啊。比如:

function(callback){

// 代码

// 以上代码执行完毕后执行回调函数

if(typeof callback === "function"){

callback()

}

}

这是因为js中函数可以当做参数直接传递进去。

定义“函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b。那么这个过程就叫回调。”,这句话的意思是函数b以一个参数的形式传入函数a并执行,顺序是先执行a ,然后执行参数b,b就是所谓的回调函数。我们先来看下面的例子。

代码如下:

function a(callback){

alert('a')

callback.call(this)//或者是 callback(), callback.apply(this),看个人喜好

}

function b(){

alert('b')

}

//调用

a(b)

函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递,能在函数中被创建,能从函数中返回

因为函数在Javascript中是第一类对象,我们像对待对象一样对待函数,因此我们能像传递变量一样传递函数,在函数中返回函数,在其他函数中使用函数。当我们将一个回调函数作为参数传递给另一个函数是,我们仅仅传递了函数定义。我们并没有在参数中执行函数。我们并不传递像我们平时执行函数一样带有一对执行小括号()的函数。

像之前的例子一样,第一种方法就是匿名函数作为回调(使用了参数位置定义的匿名函数作为回调函数)。第二种方式就是命名函数作为回调(定义一个命名函数并将函数名作为变量传递给函数)