无法读取属性'';使用javascript定义未定义的
当我运行命令无法读取属性'';使用javascript定义未定义的,javascript,Javascript,当我运行命令digitalInfo时,我的页面给出了以下数据 > digitalInfo; < >{version: "1.0", page: {...}, attributes: {...},event: Array(0), ...} 如果我展开productInfo键,我会得到productInfo键的以下日期: productInfo: Array(1) 0 flightTime: "Flight-1 06:50~Flight-1 08:35" 现在我想获取fligh
digitalInfo时,我的页面给出了以下数据控制台日志中的代码>
> digitalInfo;
< >{version: "1.0", page: {...}, attributes: {...},event: Array(0), ...}
如果我展开productInfo
键,我会得到productInfo
键的以下日期:
productInfo: Array(1)
0
flightTime: "Flight-1 06:50~Flight-1 08:35"
现在我想获取flightTime的值,因此我使用以下命令(命令优先):
但这给了我一个错误@productInfo[0],因为无法读取未定义的属性“0”
我修改了命令并将其设置为(命令二):
但这次它给我的错误是:无法读取未定义的'flightTime'属性
当我在javascript
中包含这些命令时,会抛出错误。但是,如果直接在console上运行第一个命令,则会得到如下输出:
>var departureInfo=digitalInfo.page.productInfo[0].flightTime;
>departureInfo;
<"Flight-1 06:50~Flight-1 08:35"
var departureInfo=digitalInfo.page.productInfo[0].flightTime;
>部门信息;
500)设置超时(初始化,500);
}
}
函数内容更改()
{
console.log(“进入内容更改功能”);
var departureInfo=digitalInfo.page.productInfo[0].flightTime;
if(检查部门信息的值)
{
log(“进入了if循环”);
}
其他的
{
cnt=cnt-500;
如果(cnt>500)设置超时(内容更改,500);
}
}
init();
})()
我可以通过setTimeout函数解决这个问题。谢谢大家的建议。您需要发布实际涉及的代码。productInfo
未定义,可能是某种同步问题。你需要发布codesHi@Huangism,digitalInfo是数据层(javascript对象),我想检索flightTime的值。你需要展示digitalInfo
如何获取数据。如果数据始终存在,则不会出现此问题,因此我猜您是从服务器获取数据的,您遇到的问题是由于您试图在服务器调用返回数据之前访问数据。如果您使用代码获取数据,则应该有一个完整的函数,在里面你应该有你的数据完整
var departureInfo=digitalInfo.page.productInfo[0].flightTime;
var departureInfo=digitalInfo.page.productInfo.flightTime;
>var departureInfo=digitalInfo.page.productInfo[0].flightTime;
>departureInfo;
<"Flight-1 06:50~Flight-1 08:35"
<script>
(function()
{
'use strict';
var cnt=6000;
function init()
{
if(typeof jQuery !="undefined")
{
content_change();
}
else
{
cnt=cnt-500;
if(cnt>500)setTimeout(init,500);
}
}
function content_change()
{
console.log("entered the content change function");
var departureInfo=digitalInfo.page.productInfo[0].flightTime;
if(checking value of departureInfo)
{
console.log("Entered the if loop");
}
else
{
cnt=cnt-500;
if(cnt>500)setTimeout(content_change,500);
}
}
init();
})()
</script>