在Javascript中,功能是一流的公民'。但是,当我作为参数传递给函数时,我对它们的评估方式感到有些困惑。
const childFunction = () => (
...
);
const parentFunction = ( childFunction ) =>(
...
);
我想知道代码流的顺序是什么。它会是这样的:
' parentFunction'被执行。论证' childFunction'被识别为参数,' childFunction'被执行。一旦收到来自' childFunction'的结果,那么' parentFunction'被执行了吗?
谢谢,
答案 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);
...
);