【问题标题】:Return from on function to another javascript [closed]从 on 函数返回到另一个 javascript [关闭]
【发布时间】:2013-05-29 14:33:42
【问题描述】:

我有两个函数,并试图从第二个函数返回一些东西。不知道我做错了什么。我在提醒中不断收到undefined

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

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

【问题讨论】:

  • 对我来说很好。当我打电话给a() 时,除非您不是在谈论a 中的警报。
  • 它对我有用。请发帖JSFiddle
  • 显示你是如何调用函数的
  • 完美且有效。我看不出有什么问题。
  • 除非您还没有为我们提供更多代码...

标签: javascript jquery


【解决方案1】:

正如您在此处看到的,正在运行:http://jsfiddle.net/hCGu8/

代码

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

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

a();

【讨论】:

  • 对于投反对票的人,至少解释一下原因。
  • 我认为这是因为这只是 OP 问题的副本,说明一切正常。我认为 OP 的问题出在其他地方。
  • 根据SeeleyBoothe提供的数据,解决办法是一切正常..
  • 这已被其他用户发布为评论。重复的建议只会让我们的手指痛,一遍又一遍地滚动鼠标,毫无意义。
  • 我没有投反对票,但我认为即使没有任何问题(即不存在问题)提供答案也毫无意义。这个问题应该被关闭,因为它不太可能在未来帮助任何人。
【解决方案2】:

这听起来对我来说是正确的......事实上我在警报中碰巧有“你好”:

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

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

a();

http://jsfiddle.net/u7zPY/

【讨论】:

  • 是的。我也这样做了。结果相同。
  • 代码没有问题。
【解决方案3】:

您的问题主题是“从函数返回”并且您的标签提到 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); });

【讨论】:

    猜你喜欢
    • 2018-09-16
    • 2022-12-12
    • 2018-12-19
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 2015-07-16
    相关资源
    最近更新 更多