-1
为什么我不能调用我在函数内定义的变量?这是我的代码...JavaScript:变量不能在函数外工作?
var username;
var rank;
var steamid;
var avatar;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
if (this.responseText == "null") {
} else {
var infoArr = JSON.parse(this.responseText);
var username = infoArr.username;
var rank = infoArr.rank;
var steamid = infoArr.steamid;
var avatar = infoArr.avatar;
testIt();
}
}
};
xhr.open("GET", "../getInfo.php", true);
xhr.send();
function testIt() {
alert(username);
}
函数调用testIt()将返回:未定义
什么我的代码确实是让从JSON编码的页面信息,使变量。
在你的回调函数中,你使用'var'将这些变量的范围设置为local。在回调函数中从用户名,等级,蒸汽,头像前删除var。 – James
我的意思是......当然不起作用。 'testIt'无法访问该变量。你应该将它传递给'testIt'或者只是移除'testIt'并将该逻辑移入回调。不要移动到全局变量通过删除'var' ... –
感谢您的回答。现在解决:D – Gogle