javascript动态属性在成功地从json声明后消失-成为空对象(未定义)

javascript动态属性在成功地从json声明后消失-成为空对象(未定义),javascript,jquery,declaration,Javascript,Jquery,Declaration,但是在我使用变量的地方,动态属性被分离,它不是未定义的,而是一个空对象。 但是,在$.getJSON()函数中设置后,会添加所有值 我做错了什么 编辑: 通过将其放入函数中修复了该问题。当我发布这个问题时,我已经接近了我在过去“一小时”中寻找的答案(奇怪的javascript控制台结果带来了混乱) 谢谢你的建议 getJSON方法是异步的,它在完成后调用函数(数据)。 在使用s时,getJSON方法尚未返回,因此s的属性尚未初始化。对$的调用是异步的。getJSON()的执行将在异步调用完成之前

但是在我使用变量的地方,动态属性被分离,它不是未定义的,而是一个空对象。 但是,在$.getJSON()函数中设置后,会添加所有值

我做错了什么

编辑: 通过将其放入函数中修复了该问题。当我发布这个问题时,我已经接近了我在过去“一小时”中寻找的答案(奇怪的javascript控制台结果带来了混乱)


谢谢你的建议

getJSON方法是异步的,它在完成后调用函数(数据)。
在使用s时,getJSON方法尚未返回,因此s的属性尚未初始化。

$的调用是异步的。getJSON()
的执行将在异步调用完成之前到达“使用变量”的部分

通常的处理方法是在
getJSON()
调用中引用的回调函数中使用变量

以下是参考资料:

var s = store.get('billablexxxx');
if (!s) {
    if (false) {
          s = { 
             "something" : 'Value', ....
          }
     }
 }else {
        s = new Object;
        $.getJSON('Translation/GetIndexLabels', function(data) {
            $.each(data, function(key, val) {
             s[key] = val;
          //    temp[key] = val;
           })}) ;
    }
}
//here i use the variable