首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用javascript将函数返回值赋给某个变量

使用javascript将函数返回值赋给某个变量
EN

Stack Overflow用户
提问于 2010-10-15 18:27:32
回答 5查看 148.6K关注 0票数 43

我有一个js函数,在执行了一些业务逻辑之后,javascript函数应该将一些结果返回给下面的另一个variable.Sample代码。

代码语言:javascript
复制
var response="";
function doSomething() {  
    $.ajax({
        url:'action.php',
        type: "POST",
        data: dataString,
        success: function (txtBack) { 
            if(txtBack==1) {
                status=1;
            }
    });
    return status;     
}

在这里,我想使用像这样

代码语言:javascript
复制
response=doSomething();

我想分配一个返回值"status“"var response".But,结果是‘.But’。

EN

回答 5

Stack Overflow用户

发布于 2010-10-15 18:34:24

或者只是..。

代码语言:javascript
复制
var response = (function() {
    var a;
    // calculate a
    return a;
})();  

在这种情况下,response变量接收函数的返回值。该函数将立即执行。

如果要用需要计算的值填充变量,则可以使用此构造。请注意,所有计算都在匿名函数内部进行,因此不会污染全局名称空间。

票数 71
EN

Stack Overflow用户

发布于 2010-10-15 19:17:37

AJAX请求是异步的。您的doSomething函数正在被执行,AJAX请求正在被发出,但是它是异步发生的;因此,doSomething的其余部分将被执行,并且status的值在返回时是未定义的。

实际上,代码的工作方式如下所示:

代码语言:javascript
复制
function doSomething(someargums) {
     return status;
}

var response = doSomething();

一段时间后,AJAX请求即将完成;但为时已晚

您需要修改代码,并在AJAX请求的"success“回调中填充"response”变量。您将不得不延迟使用响应,直到AJAX调用完成。

你以前可能有过的

代码语言:javascript
复制
var response = doSomething();

alert(response);

您应该执行以下操作:

代码语言:javascript
复制
function doSomething() {  
    $.ajax({
           url:'action.php',
           type: "POST",
           data: dataString,
           success: function (txtBack) { 
            alert(txtBack);
           })
    }); 
};
票数 20
EN

Stack Overflow用户

发布于 2010-10-15 18:28:50

您可以简单地从函数中返回一个值:

代码语言:javascript
复制
var response = 0;

function doSomething() {
    // some code
    return 10;
}
response = doSomething();
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3941381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档