Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取属性';变量';未定义的_Javascript_Jquery_Arrays_Object - Fatal编程技术网

Javascript 无法读取属性';变量';未定义的

Javascript 无法读取属性';变量';未定义的,javascript,jquery,arrays,object,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

我正在导航一个包含对象数组的对象

当我使用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);

为什么当my js不正确时,控制台会正确地找到它?尝试在脚本视图中选择有问题的表达式,然后使用
Ctrl-Shift-E
快捷方式在控制台中进行计算。或者,从脚本视图复制并粘贴到控制台中。或者,将鼠标悬停在脚本视图中表达式的最后一个组件上以查看值。在任何一种情况下,您都很可能会发现您输入了错误的内容,或者在不同的上下文中执行脚本,而不是在控制台中计算表达式,等等。

多亏了@Barmar,我意识到我需要查看如何获取“title”属性

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

谢谢大家的帮助


6年后编辑: 这篇文章很受欢迎,所以我想我会用一个更有效的答案来更新它

  • 确保您的JavaScript实际上具有要开始的对象的范围/上下文

  • JS控制台能够返回它,因为它是在代码运行之后执行的。。然而,所讨论的JavaScript可能在设置变量之前尝试访问该变量


  • 因此,请检查您是否具有正确的作用域/上下文,并且代码在设置变量之前没有尝试访问该变量。

    是否可以创建一个fiddle,以便更容易地提供帮助。您可能正在进行asyn调用,这意味着您的数组尚未准备就绪。猜一猜。
    hello.example
    显然没有定义。我想您在设置
    hello.example.array[0].title
    之前试图访问它,当您使用控制台访问它时,您的所有JS都已执行,因此设置了变量。但是,如果没有看到更多的代码,就无法确定这一点。不,最好尽早在全局范围内:在
    $(文档)之外。准备好了全局范围的
    ,并在脚本顶部@哈沙