控制台读取变量的值但返回给出undefined - Javascript

时间:2016-09-09 11:35:49

标签: javascript function scope return

我有范围问题。

function boo() {
    var ajax5 = new XMLHttpRequest();
    ajax5.onreadystatechange = function() {
        if (ajax5.readyState == 4) {
            xxx5 = (ajax5.responseText);

            var obj = JSON.parse(xxx5);
            d2 = obj.myvariable;

            return d2;

        }
    };
    ajax5.open("GET", "URL TO SCRIPT (CORS HEADERS ENABLED)", true);
    ajax5.send(null);


};


var xxx = boo();

如果用console.log替换return d2(d2),我在控制台中获取值。

返回d2;我得到了不确定。

我希望xxx保持d2的值。

1 个答案:

答案 0 :(得分:1)

你的"返回d2"是" onreadystatechange"不是" boo"功能。这就是你的xxx未定义的原因