getUserData = function () {
$.ajax({
"type": "get",
"url": imgJson,
"async": false,
"success": function (data) {
if(data.code==0){
res = data.code;
}else{
res = data.data;
}
}
});
return res;
};
执行这个方法的时候是 return 返回值;
还是在以下success之后就res全局污染了
"success": function (data) {
if(data.code==0){
res = data.code;
}else{
res = data.data;
}
}
两个都对
var
或者let
来声明 就会被声明在全局变量上 所以也是全局污染如果你把ajax中参数 改下
"async": true
, 就看出区别了那在请求返回之前 全局变量res都是undefined 所以还是getUserData函数返回值是undefined 但是在一段时间后其他地方直接使用res变量的话 还是能获取到值的 不过多少时间后能用 就不确定了