javascript:从匿名函数返回值

zm4*_*455 4 javascript anonymous callback

var result我怎样才能获得这段代码中的值?

我知道这是一个基本问题,但三天以来我一直在寻找解决方案。你能给我什么建议吗?

function foo(myCallback){
}

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

var showResult = bar();
alert(showResult);
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 6

您需要调用回调并返回它的值,并且在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);
Run Code Online (Sandbox Code Playgroud)

稍微简化一下可能是

function foo(myCallback){
    return myCallback();
}

function bar(){
    return foo(function(){
        return "hello"; 
    });
}
var showResult = bar();
alert(showResult);
Run Code Online (Sandbox Code Playgroud)