为什么这个回调返回undefined?

dsp*_*099 2 javascript callback

function firstFunction(num, callback) {
  callback(num);
};

function secondFunction(num) {
  return num + 99;
};

console.log(firstFunction(56, secondFunction));
Run Code Online (Sandbox Code Playgroud)
undefined
Run Code Online (Sandbox Code Playgroud)

如果我console.log从内部调用secondFunction,它将返回值.

为什么不?如果我无法从中获取值以便稍后使用,那么设置回调的重点是什么?我错过了什么.

Doo*_*nob 7

在您的功能中firstFunction,您可以:

callback(num);
Run Code Online (Sandbox Code Playgroud)

评估为

56 + 99;
Run Code Online (Sandbox Code Playgroud)

那是哪个

155;
Run Code Online (Sandbox Code Playgroud)

但你永远不会回报价值!没有返回值,函数将简单地评估为undefined.


试着这样做:

function firstFunction(num, callback) {
  return callback(num);
};
Run Code Online (Sandbox Code Playgroud)