.length返回未定义的问题

Issues with .length returning as undefined

本文关键字:问题 未定义 返回 length      更新时间:2023-09-26

我正在构建一个项目,使用一个名为Chat.fetch()的函数;它是一个异步函数,从服务器提取字符串数组。这是一个ajax函数,对于这个项目来说,它已经定义好了,我只需要正确地调用它。我们还提供了另一个函数Chat.display(),它接受一个字符串,并在控制台上以项目符号的形式显示它。现在我得到的是:,我得到一个错误,说不能读取属性长度未定义。所以我想。长度是未定义的superArray?我们的目标是创建这个函数,并将其用作Chat.fetch()的回调函数。你们知道为什么我得到这个。length错误吗?我很困惑。谢谢!

<!DOCTYPE html>
    <html>
  <head>
    <meta charset="utf-8">
    <script src="http://chatbuilder.hackreactor.com/ChatBuilder.js"></script>
  </head>
  <body>
    <script>

    Chat.guide.start();
    </script>
    <h2>Borken Chat</h2>
    <input class="draft" type="text"/> <button class="send" disabled>send</button>

    <ul class="messages">
  <script>
    var list;
    var superArray=[];
    darray=function(superArray){
      var y=superArray.length;
      for(i=0;i<y;i++){
        Chat.display(x[i]);
      }
    }
    Chat.fetch(darray(list));
  </script>
    </ul>

因为您正在发送list作为superArray参数,而list确实未定义你需要发送superArray:

Chat.fetch(darray(superArray));

将变量'list'传递给函数

Chat.fetch(darray(list));

list目前是未定义的,所以你不能在上面使用'length'是正常的。我不知道这个函数的正确用法是什么,但我认为你必须将'superArray'传递给函数而不是'list'

尝试通过将其设置为0来初始化变量。var list = 0;