如何在作为参数传递时评估函数

时间:2016-04-26 14:50:06

标签: javascript function arguments sequence execution

在Javascript中,功能是一流的公民'。但是,当我作为参数传递给函数时,我对它们的评估方式感到有些困惑。

const childFunction = () => (
...
);

const parentFunction = ( childFunction ) =>(
...
);

我想知道代码流的顺序是什么。它会是这样的:

' parentFunction'被执行。论证' childFunction'被识别为参数,' childFunction'被执行。一旦收到来自' childFunction'的结果,那么' parentFunction'被执行了吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

仅仅作为参数传递

childFunction不会执行。需要childFunction的功能必须使用childFunction()childFunction.apply/call

来调用它
const childFunction = () => (
...
);

const parentFunction = ( childFunction ) =>(
   // childFunction doesn't get called/executed until this line is reached
   childFunction();
   // Or something like
   childFunction.call(this, 1,2,3);
...
);