日期:2014-05-16  浏览次数:20442 次

在 b 方法里 调用 a ,直接调用和把a作为参数调用有什么区别
function a(){
// code
}

function b( c ){
  a();
  c();
}

b( a );

请问上面在 b 方法里 调用 a ,直接调用和把a作为参数调用有什么区别

------解决方案--------------------
感觉没啥区别,这么定function b 为啥要用callback呢?用不用感觉一样
------解决方案--------------------
如果 在 b 中直接调用 a 则表示 b 是完全依赖 a 的
但当 a 作为 b 的回调函数时,情况就不一样了
虽然 b 的行为依然依赖 a,但传递的函数不是 a,而是 c 时。你就有机会干预 b 的行为了