0

为什么某些 Javascript 对象属性没有在调试器中以交互方式显示?

我有一个复杂的对象“专辑”。如果,在 Chrome 调试器中,我这样做:

console.dir(专辑)

我得到一个空对象(扩展它什么都没有显示)。

同样,如果我这样做

专辑

我什么都得不到。但是,如果我要求特定属性,则怀疑它确实包含元素,例如,

相册["5146219665061590173"]

我得到了属于这个复杂对象的各种属性。同样,如果我执行 console.log(JSON.stringify(albums)),我会得到属于该对象的所有嵌套对象的完整定义。

我不清楚这里的语义;为什么有些对象属性不显示?(当我在调试器中使用策略性地放置断点运行 Javascript 程序时,我以为我的 Javascript 程序无法正常工作,但现在我看到这些值就在那里,只是它们并不总是显示出来。)

提前致谢。

4

1 回答 1

1

当您展开对象以显示属性时,控制台会获取对象的状态(如果属性在console.log/dir它们不显示后已被删除)。

尝试这个:

console.dir(JSON.parse(JSON.stringify(albums)));
于 2012-08-06T19:23:32.450 回答