我在 js 中有一个函数,它使用从服务器脚本中以 json 形式获取的值填充全局数组:
function populateValues(id) {
var values=new Array();
$.getJSON(
'<?PHP echo base_url();?>admin/forums/getForumById/' + id ,
function(data){
$.each(data,function(k,v){
values.push(v);
});
alert(values[1]);
}
);
}
这可以正常工作并提醒所需的值。但是当我尝试在循环后提醒这个时,值会丢失并且我得到一个未定义的。情况如下:
function populateValues(id) {
var values=new Array();
$.getJSON(
'<?PHP echo base_url();?>admin/forums/getForumById/' + id ,
function(data){
$.each(data,function(k,v){
values.push(v);
});
}
);
alert(values[1]);
}
是因为形成了一些封闭结构吗?还是我缺乏一些基本概念?只是想知道为什么即使我将数组声明为全局数组也不会提醒这些值。请阐明一些观点。