一、什么是回调函数
一直接触回调函数这个名词,但是不知道具体是干什么的,今天在百度上看到了一句话让对回调函数产生了一点兴趣,那就是回调函数的英文解释:
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.
翻译成中文就是:回调函数是作为一种参数传递给另外一个函数,并且在父函数执行完毕之后执行。这就好懂多了,说明函数可以作为一种参数,以参数的形式传给另外一个函数。
二、回调函数的使用例子
首先,举一个大家都知道的例子,我们在使用jQuery的时候,经常会用到点击事件,如下:
$('#btn').click(function(){
alert("我被点击了");
})
click()是jquery写好的函数,我们在click方法里面传入了
function(){
alert("我被点击了");
}
显而易见,结果是不是我们只有点击了id为btn的按钮,这就“我被点击了”才会执行?这就是简单回调函数,我们一直都在用,jQuery广泛的使用回调函数
那现在我们来写另外一个关于回调函数的例子,加深印象:
function parent(value,callback){//这里放了两个参数,value和函数callback
callback(value);//这里我value的值传给回调函数
}
//现在我调用parent函数,并传入一个字符串和匿名函数
parent("我是回调函数呀",function(data){
console.log(data)
})
看到这个例子会在想,为什么不直接把“我是回调函数呀”这句话打印出来呢?非要写个函数。
当然我这么写是为了便于理解什么是回调函数