在javascript中维护函数外部变量的值?

在javascript中维护函数外部变量的值?,javascript,Javascript,我试图在函数中操纵一个变量。但一旦我退出函数,它似乎就会忘记这些值,即使变量是在函数外部声明的 基本守则: var posts = {}; // Perform a data request // skjutsgruppens-page $.oajax({ url: "https://graph.facebook.com/197214710347172/fee

我试图在函数中操纵一个变量。但一旦我退出函数,它似乎就会忘记这些值,即使变量是在函数外部声明的

基本守则:

var posts = {};                

            // Perform a data request
            // skjutsgruppens-page
            $.oajax({
                url: "https://graph.facebook.com/197214710347172/feed?limit=500",
                    *SNIP*
                    success: function(data) {
                    $.extend(posts, data);
                }
            });


            // Gruppen
            $.oajax({
                url: "https://graph.facebook.com/2388163605/feed?limit=500",
                *snip*
                success: function(data) {
                    $.extend(posts, data);
                }
            });
oajax从facebook检索数据。我想创建一个包含来自两个oajax方法的数据的变量


实际代码:

问题很可能是
success
函数在将来的任意时间执行——除非您在知道
success
函数已执行后专门访问
posts
,否则您将收到未定义的结果,完全取决于函数和访问时间


最好的方法是通过在success函数内部执行必要的工作,或者使用jQuery之类的工具来正确处理此问题。

如果您是正确的,那么当我得到答案时,success就会执行。这就是我想用数据扩展帖子的时候。这不是我正在做的吗?@Kristofernolgren您告诉我们——在成功函数中,在调用
extend
之后,对象中的数据是吗?数据的格式是否适合
.extend
使用?您在什么时候访问
posts
而数据不在那里?posts中的数据似乎就在那里,就好像是上一次加载页面时的数据一样,它在两个对象之间交替出现。我真的不明白…@克里斯托弗诺格伦在哪两个物体之间交替?什么时候进行Ajax调用?什么时候访问Ajax调用之外的
posts
中的数据?我想,你需要用更多的细节来更新你的问题。@Kristofernolgren啊,明白了——很高兴你解决了。你可能会考虑创建你自己的答案并接受它,因为我的方法是偏离了基础,或者用额外的信息来编辑我的作品。似乎extend方法只在我重新加载页面时适用。世界跆拳道联盟?