从函数返回到另一个javascript

时间:2013-06-03 12:32:27

标签: javascript jquery

我有两个函数,我试图从第二个函数返回一些东西。不确定我做错了什么。我一直在undefined处于警报状态。

function a(){
    var testMe = b("hello");
    alert(testMe);  
}

function b(theVar){
    var returnVar = theVar;
    return returnVar;   
}

3 个答案:

答案 0 :(得分:2)

正如您在此处所见,正在运作:http://jsfiddle.net/hCGu8/

<强> CODE

function a(){
    var testMe = b("hello");
    alert(testMe);  
}

function b(theVar){
    var returnVar = theVar + " returned";
    return returnVar;   
}

a();

答案 1 :(得分:0)

这听起来对我来说......事实上我碰巧在警报中“打招呼”:

function a(){
    var testMe = b("hello");
    alert(testMe);  
}

function b(theVar){
    var returnVar = theVar;
    return returnVar;   
}

a();

http://jsfiddle.net/u7zPY/

答案 2 :(得分:0)

您的问题主题是“从功能返回”,并且您的代码提到了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); });