函数外的Javascript变量

时间:2014-07-18 08:23:21

标签: javascript variables scope

初学者试图围绕javascript和范围问题包围我。

我拉一些json数据并将其推送到一个名为zero []的数组中。让它在匿名函数之外工作失败。

如何让零[]在函数外部工作?

<script>


 var addr = "data657";


 var zero = [];
 var full = [];

$(function(){


jQuery.getJSON('https://jsondataurl.com/'+addr, function(result) {


    if (result == 0)
     zero.push(addr);
if (result > 0)
     full.push(addr); 

var j = Math.floor(Math.random()*4); 



     alert(zero[j]);    /// works great here  !!!
});
});


alert(zero[j]); // DOES NOT work here



  $("#foo").attr("data-stuff", zero[j]);  // DOES NOT work here 


 </script>    

1 个答案:

答案 0 :(得分:0)

zero在范围内。该变量尚未填充。 j恰好不在范围内。

您要对回调中的数据执行的任何操作都必须在回调中完成。