从函数返回到另一个javascript
我有两个函数,并且试图从第二个函数返回一些东西。不知道我做错了什么。我不断收到undefined
的警报。从函数返回到另一个javascript
function a(){
var testMe = b("hello");
alert(testMe);
}
function b(theVar){
var returnVar = theVar;
return returnVar;
}
,你可以在这里看到,正在工作: http://jsfiddle.net/hCGu8/
CODE
function a(){
var testMe = b("hello");
alert(testMe);
}
function b(theVar){
var returnVar = theVar + " returned";
return returnVar;
}
a();
这声音我的权利......事实上,我可要提醒有“你好”:
function a(){
var testMe = b("hello");
alert(testMe);
}
function b(theVar){
var returnVar = theVar;
return returnVar;
}
a();
是的。我也是这样做的。同样的结果。 –
代码没有问题。 – crush
你的问题主题说“从功能返回”和你的标签提到jQuery
,而问题中的代码正常工作。
我的工作,你已经太远减少您的测试案例,并从中取出这个问题的假设(未来,请测试您减少测试案例,以确保他们仍然说明问题!)和你居然有这样的事情:
function a() {
var result = jQuery('foo').on('click', function() { return 1; });
// ^^ This being the on function
}
...你想result
等于1
。
这是不可能的。
on
只是指定一个事件处理程序,稍后运行。在事件发生之前,a
的执行将结束。您不能将任何事件从事件处理程序返回给分配它的函数。
您可以使用回调,在该回调中您可以定义一个函数,以在数据可用时运行。这部作品在完全相同的是,你传递的第二个参数on
功能:
function a(callback) {
var result = jQuery('foo').on('click', function() { callback(1); });
}
a(function (result) { alert(result); });
工作正常,我。当我调用'a()'时,除非你没有谈论'a'中的警报。 – epascarello
它适合我。请发布[JSFiddle](http://jsfiddle.net)。 – Doorknob
显示你如何调用功能 – Curt