function firstFunction(num, callback) {
callback(num);
};
function secondFunction(num) {
return num + 99;
};
console.log(firstFunction(56, secondFunction));
undefined
如果我从console.log
内拨打secondFunction
,则会返回该值。
为什么不呢?如果我无法从中获取值以便稍后使用,那么设置回调的重点是什么?我错过了什么。
答案 0 :(得分:7)
在您的函数firstFunction
中,您可以:
callback(num);
评估为
56 + 99;
然后
155;
但你永远不会回报价值!如果没有返回值,函数将仅评估为undefined
。
尝试这样做:
function firstFunction(num, callback) {
return callback(num);
};
答案 1 :(得分:2)
firstFunction
不会返回任何内容,简单明了!这就是为什么当你console.log
返回值时,它是undefined
。
有问题的代码:
callback(num);
调用callback
,然后对返回的值不执行任何操作。你想要:
return callback(num);