粗略的一个定义“函数a有一个参数,这个参数是个函数b,当函数a执行完之后执行函数b。那么这个过程就叫回调。”,这句话的意思是函数b以一个参数的形式传入函数a并执行,顺序是先执行a ,而后执行参数b,b就是所谓的回调函数。咱们先来看下面的例子。
app
function a(callback){ alert('a'); callback.call(this);//或者是 callback(), callback.apply(this),看我的喜爱 } function b(){ alert('b'); } //调用 a(b);
这样的结果是先弹出 'a',再弹出‘b'。这样估计会有人问了“写这样的代码有什么意思呢?好像没太大的做用呢!”ide
是的,其实我也以为这样写没啥意思,“若是调用一个函数就直接在函数里面调用它不就好了”。我这只是给你们写个小例子,作初步的理解。真正写代码的过程当中不多用这样无参数的,由于在大部分场景中,咱们要传递参数。来个带参数的:
函数
function c(callback){ alert('c'); callback.call(this,'d'); } //调用 c(function(e){ alert(e); });
这个调用看起来是否是似曾相识,这里e参数被赋值为'd',咱们只是简单的赋值为字符窜,其实也能够赋值为对象。
this