js 如何写回调函数

JavaScript013

js 如何写回调函数,第1张

把函数作为参数传递就是了。

回调函数可以继续扩展一个函数的功能,非常灵活。

比如:

var PersonInfo = {

name:'Sigma',

age:18

}

function getPersonInfo( next ){

var myInfo = PersonInfo

next &&next( myInfo )

}

getPersonInfo(function( data ){

alert( data.name )

})

function showDiv(callback){

  $("#div1").show()

  callback($("#div1"))

}

showDiv(function($div){

  $div.text("hello world")

})

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

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

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