javascript:从匿名函数返回值
如何在此代码中获取javascript:从匿名函数返回值,javascript,callback,anonymous,Javascript,Callback,Anonymous,如何在此代码中获取var result的值 我知道这是一个基本问题,但我从3天开始就在寻找解决方案。你能给我一些建议吗 function foo(myCallback){ } function bar() { var result = foo(function(){ var result = "hello"; return result; }); } var showResult = bar(); alert(showResult); 您需
var result
的值
我知道这是一个基本问题,但我从3天开始就在寻找解决方案。你能给我一些建议吗
function foo(myCallback){
}
function bar() {
var result = foo(function(){
var result = "hello";
return result;
});
}
var showResult = bar();
alert(showResult);
您需要调用回调函数并返回其值,在
bar
函数中,您还需要返回结果
函数foo(myCallback){
//返回调用myCallback()的值
返回myCallback();
}
功能条(){
var result=foo(函数(){
var result=“hello”;
返回结果;
});
//返回结果
返回结果;
}
var showResult=bar();
警报(显示结果)代码>您缺少返回语句。不清楚你想要返回什么 它的工作原理如下:
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);
});
您可以在
回调函数foo(myCallback){}函数栏(cb){foo(function(){var result=“hello”;cb(result);}栏(function(res){alert(res);})中获得它
您甚至可以简单地将初始的var结果
声明替换为返回
本身。实际上,在本例中,allvar result=。。。;返回结果
可以替换为return…
非常感谢Nina Scholz这是一个很好的答案!:-)很高兴看到你的第一个答案与我的问题相同。然后我可以看到一个简化的版本。谢谢大家!@Nina Scholz很抱歉,但系统告诉我我没有足够的声誉来投票支持你的答案…@zm455你应该可以投票支持你自己的问题,你可以肯定地将你自己问题的答案标记为正确:)你好@something stackoverflow的系统告诉我我不能投票支持我自己的帖子。我将非常高兴能够投票给那些帮助过我的人。我只需要2个人投票,我的问题,我将是15声誉,这是我需要能够接受答案和投票的分数