Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript gloabl对象的问题_Javascript - Fatal编程技术网

Javascript gloabl对象的问题

Javascript gloabl对象的问题,javascript,Javascript,我在第一行声明了一个全局对象。然后使用jquery getJSON将数据填充到其中。这里的问题是,我在函数slider中得到的是空对象,而在getJSON中,它打印的是正确的数据。你知道这是怎么回事吗 var allslides = {}; $.getJSON("data/slides.json", function(data) { $.each(data, function(key, val) { allslides[key] = { image : val.imag

我在第一行声明了一个全局对象。然后使用jquery getJSON将数据填充到其中。这里的问题是,我在函数slider中得到的是空对象,而在getJSON中,它打印的是正确的数据。你知道这是怎么回事吗

var allslides = {};

$.getJSON("data/slides.json", function(data) {
    $.each(data, function(key, val) {
        allslides[key] = { image : val.image, title: val.title, desc:val.desc };
    });
    console.log(allslides); // First 
});

$(function(){
    slider();
});

function slider() {
    console.log(allslides); // second
}

将对
滑块的调用移动到
.getJSON
中,因为它是异步的:

 $.getJSON("data/slides.json", function(data) {
    $.each(data, function(key, val) {
     allslides[key] = { image : val.image, title: val.title, desc:val.desc };
    });
    slider();
});

因为
getJSON
是异步的,所以将
$.getJSON
放在
文档中。ready()
并仅从它的回调函数中调用
slider()
。是的,它被修复了!谢谢你的帮助!