javascript:从匿名函数返回值

javascript: returning value from anonymous function

本文关键字:函数 返回值 javascript      更新时间:2023-12-02

如何获取此代码中var result的值?

我知道这是一个基本问题,但我从3天起就在寻找解决方案。你能给我什么建议吗?

function foo(myCallback){
}
function bar() {
    var result = foo(function(){
        var result = "hello"; 
        return result;
    });
}
var showResult = bar();
alert(showResult);

您需要调用回调并返回其值,在bar函数中,您还需要返回结果

function foo(myCallback){
    // return the value of the call myCallback()
    return myCallback();
}
function bar(){
    var result = foo(function(){
        var result = "hello"; 
        return result;
    });
    // return the result
    return result;
}
var showResult = bar();
alert(showResult);

稍微简化一下,它可能是

function foo(myCallback){
    return myCallback();
}
function bar(){
    return foo(function(){
        return "hello"; 
    });
}
var showResult = bar();
alert(showResult);

您缺少返回语句。目前还不清楚你想要返回什么。

它是这样工作的:

function foo(myCallback){
  return myCallback();
}
function bar(){
    var result = foo(function(){
        var result = "hello"; 
        return result;
    });
  return result;
}
var showResult = bar();
alert(showResult);

您一直在使用回调,但幸运的是,您可以在回调函数中传递参数:

// define your functions
function foo(myCallback){
    myCallback();
}
function bar(callback){
    var result = foo(function(){
        var result = "hello"; 
        callback(result);
    });
}
// now run it
bar(function(showResult){
    alert(showResult);
});