无法读取属性'';使用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>