Javascript 从函数内部为变量赋值

Javascript 从函数内部为变量赋值,javascript,jquery,scope,Javascript,Jquery,Scope,javascript中的作用域有问题,无法解决如何传递值 $(document).ready(function() { availableTags = new Array(); $.getJSON('index.php?getTagList', function(data) { availableTags = data; alert(data); }); alert(availableTags); }); 我知道数据是正确的,警报会确认它,但如何将

javascript中的作用域有问题,无法解决如何传递值

$(document).ready(function() {   
  availableTags = new Array();
  $.getJSON('index.php?getTagList', function(data) {
      availableTags = data;
      alert(data);
  });
  alert(availableTags);
});

我知道数据是正确的,警报会确认它,但如何将其分配给availableTags变量?javascript中的作用域严重冲突…

问题在于,$.getJSONurl回调是异步的。在您尝试警告availableTags变量之前,回调尚未执行并设置availableTags变量。

问题在于$.getJSONurl回调是异步的。在尝试警告availableTags变量之前,回调尚未执行并设置availableTags变量。

不是范围问题;getJSON回调函数按时间顺序最后运行;getJSON回调函数按时间顺序最后运行。另一个重复:Rob所说的。基本上,您需要将其余代码放入$.getJSON函数中,或者使用返回的数据调用另一个函数。基本上,您需要将其余代码放入$.getJSON函数中,或者使用返回的数据调用另一个函数。谢谢Rob,请不要忘记: