我正试图在我的 JavaScript 对象中创建一个数组, 其中包含从 JSON 文件里用 $.getJSON () 函数在 jQuery 中提取的物体。 我正运行到范围问题, 在那里, 数组元素似乎被设置在 $.getJSON () 函数中, 但是在它之外, 数组是空的 。 以下是代码 :
function player(playlist){
...
var tracks = [];
this.start = function() {
...
$.getJSON(playlist, function(data){
$.each(data.tracks, function(key,value){
var track_info = function(info){return info}(value);
tracks.push(track_info);
});
console.log("from .getJSON function");
console.log(tracks);
});
console.log("outside .getJSON function");
console.log(tracks);
...
};
...
$(document).ready(function(){
var the_player = new player(playlist);
the_player.start();
)};
产出是:
outside .getJSON function
[]
from .getJSON function
[Object, Object, Object]
所有对象都包含JSON文件的正确数据。
我对此感到困惑, 有人能帮我理解吗?