我正在浏览一个包含对象数组的对象。
当我使用chrome的js开发者控制台时,我可以从数组中的第一项获取title属性,即
hello.example.array[0].title
这将返回标题(仅在js开发人员控制台中)。但是,当我写一个脚本为我这样做时,我突然收到了这个回复:
Cannot read property 'array' of undefined
这是我的js
的一个例子var theTitle = hello.example.array[0].title;
console.log(theTitle);
为什么控制台在我的js不能正确找到它时?
答案 0 :(得分:0)
尝试在脚本视图中选择有问题的表达式,然后使用Ctrl-Shift-E
快捷方式在控制台中进行评估。或者,从脚本视图复制并粘贴到控制台中。或者,将鼠标悬停在脚本视图中表达式的最后一个组件上以查看该值。在任何一种情况下,您很可能会发现您错误输入了某些内容,或者在与您在控制台中评估表达式等不同的上下文中执行脚本。
答案 1 :(得分:0)
感谢@Barmar,我意识到我需要了解如何抓住'title'属性。
我的解决方案是在其他代码的上下文中,以及首先如何创建对象。
谢谢大家的帮助!
编辑6年后: 这篇文章有一定的知名度,所以我想我会用更有效的答案更新它...
确保您的JavaScript实际上具有该对象的范围/上下文。
JS控制台能够返回它,因为它在代码运行后正在执行..而有问题的JavaScript可能会在设置之前尝试访问该变量。
因此,请检查您是否拥有正确的范围/上下文,并且代码在设置之前没有尝试访问变量。