无法读取未定义的属性“变量”

时间:2013-02-25 18:01:49

标签: javascript jquery arrays object

我正在浏览一个包含对象数组的对象。

当我使用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不能正确找到它时?

2 个答案:

答案 0 :(得分:0)

尝试在脚本视图中选择有问题的表达式,然后使用Ctrl-Shift-E快捷方式在控制台中进行评估。或者,从脚本视图复制并粘贴到控制台中。或者,将鼠标悬停在脚本视图中表达式的最后一个组件上以查看该值。在任何一种情况下,您很可能会发现您错误输入了某些内容,或者在与您在控制台中评估表达式等不同的上下文中执行脚本。

答案 1 :(得分:0)

感谢@Barmar,我意识到我需要了解如何抓住'title'属性。

我的解决方案是在其他代码的上下文中,以及首先如何创建对象。

谢谢大家的帮助!


编辑6年后: 这篇文章有一定的知名度,所以我想我会用更有效的答案更新它...

  1. 确保您的JavaScript实际上具有该对象的范围/上下文。

  2. JS控制台能够返回它,因为它在代码运行后正在执行..而有问题的JavaScript可能会在设置之前尝试访问该变量。

  3. 因此,请检查您是否拥有正确的范围/上下文,并且代码在设置之前没有尝试访问变量。