轻松理解JS回调函数

前言:在前端有个现象,就是由于这是一个比较新的职业,加上很多的前端er都是学计算机出身的,所以对于一些概念,特别是js部分,喜欢用其它的语言,比如C啊、java啊来类比。
对于像我这种半路出身的人来说,这样反而更复杂了!关于js的回调函数,你百度一下,出来的结果相信很难看懂。其实本来就是很简单的东西。
一、什么是回调函数
就是函数a调用了函数b,通常是b是通过参数的形式被a调用:a(b)这样。
提问:为什么不直接function a(){ function b(){} }呢?因为这样b就限定只能叫b了。function a(anyNameYouLike){}这样在a内部调用使用anyNameYouLike()即可,而不用管传入的函数原本叫啥。

二、使用回调函数的情景
情景:需要a执行完了产生一个结果,再执行b进一步处理这个结果,也可能需要函数c来进一步处理这个结果。为了代码的重用和灵活性,直接写在a里面会很冗长。
三、回调函数的简单例子

function a(step2) {    
    var result='XXX';
    step2(result);
};

function b(data){ 
	//处理data
}; 

a(b); 

注意到上面的b传入a中不加括号。
四、本文结束,希望可以帮到你。
不过正如开头说到,我不是学计算机出来的,所以本文的某些概念可能不正确,如有误恳请指出。

标签: 回调函数, js回调函数

添加新评论