Bobscript

轻松理解JS回调函数

轻松理解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中不加括号。 四、本文结束,希望可以帮到你。   不过正如开头说到,我不是学计算机出来的,所以本文的某些概念可能不正确,如有误恳请指出。