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