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

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

console.log(firstFunction(56, secondFunction));
undefined

console.log内から呼び出すとsecondFunction、値が返されます。

なぜだめですか?後で使用するためにコールバックから値を取得できない場合、コールバックを設定する意味は何ですか? 何かが足りない。

4

2 に答える 2

8

functionfirstFunctionでは、次のことを行います。

callback(num);

評価するもの

56 + 99;

それならどっち

155;

しかし、値を返すことはありません! 戻り値がない場合、関数は単純に に評価されundefinedます。


これを試してください:

function firstFunction(num, callback) {
  return callback(num);
};
于 2013-05-25T02:49:11.820 に答える