Javascript 对象属性不可访问,但存在

Javascript 对象属性不可访问,但存在,javascript,Javascript,我有一个数据存储对象,它基本上将数据存储在它的“属性”项中 datastorage = { attributes: { 51: {/*data, another object*/} } } 当我将datastorage.attributes记录到控制台时,我得到了预期的结果。 但是,当我尝试访问属性[51]或属性['51'],甚至将名称更改为属性['cert_51']时,它总是未定义的 我甚至不能循环使用datastorage.attributes,或者它甚至不

我有一个数据存储对象,它基本上将数据存储在它的“属性”项中

datastorage = {
    attributes: {
        51: {/*data, another object*/}
    }
}
当我将datastorage.attributes记录到控制台时,我得到了预期的结果。 但是,当我尝试访问属性[51]或属性['51'],甚至将名称更改为属性['cert_51']时,它总是未定义的

我甚至不能循环使用datastorage.attributes,或者它甚至不会迭代一次,或者我得到的只是datastorage.attributes对象

$.each(datastorage.attributes, function (name, content) {
    console.log(name, content, this);
    // -> 0, {51:{..}}, {51:{..}
    $.each(this, function () {
         console.log(this);
         // -> {51:{..}}
    });
});

有什么提示吗?

我解决了这个问题。。我异步加载有问题的属性,但忘记了这一点。
我实现了一个回调,一旦设置属性,它将提供该属性的值。

Hum。。。你能构建一个小提琴或完整的代码,给出“未定义”的结果吗?^这太奇怪了,我想这是我的代码中的一些东西。我将尝试隔离bug并发回,谢谢。(我自己可能只是在摆弄它,duh)这是我基本上正在做的,它在摆弄上起作用,但在我的项目中不起作用,我想我必须看得更远。下次发帖之前先想一想!