在前端有个现象,就是由于这是一个比较新的职业,加上很多的前端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中不加括号。 四、本文结束,希望可以帮到你。 不过正如开头说到,我不是学计算机出来的,所以本文的某些概念可能不正确,如有误恳请指出。