如何通过回调返回价值?

时间:2019-04-21 12:22:40

标签: javascript

当我使用alert()console.log()时,它可以正常工作。

function greeting(name) {
  alert('Hello ' + name);
  console.log(`Hello ${name}`)
}

function processUserInput(callback) {
  var name = prompt('Please enter your name.');
  callback(name);
}

processUserInput(greeting);

但是当我使用return时,它返回未定义的

function greeting(name) {
    let returnthis = `hello ${name}`
    return returnthis
  }


  
  function processUserInput(callback) {
    var name = prompt('Please enter your name.');
    callback(name);
  }
  
  console.log(processUserInput(greeting));

为什么会这样?

如何返回值?

我阅读了this的答案,但听不懂。

2 个答案:

答案 0 :(得分:2)

您还需要返回回调

function greeting(name) {
  return `hello ${name}`
}



function processUserInput(callback) {
  var name = prompt('Please enter your name.');
  return callback(name);
}

console.log(processUserInput(greeting));

答案 1 :(得分:2)

因为processUserInput不返回任何内容。做:

  return callback(name);