0

我正在构建一个使用名为 Chat.fetch(); 的函数的项目;它是一个异步函数,从服务器中提取字符串数组。这是一个 ajax 函数,为了项目的目的已经定义了,我只需要正确调用它。我们还有另一个名为 Chat.display() 的函数,它接受一个字符串并在控制台上以项目符号的形式显示它。现在这就是我所得到的:我收到一个错误,说无法读取未定义的属性长度。所以我猜想.length 对于 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>

4

3 回答 3

0

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

于 2013-04-19T18:37:51.740 回答
0

因为您是list作为 superArray 参数发送的,并且list确实在 undefined 中您需要发送 superArray:

Chat.fetch(darray(superArray));
于 2013-04-19T18:15:32.433 回答
0

您将变量“列表”传递给函数

Chat.fetch(darray(list));

此时列表未定义,因此您不能在其上使用“长度”是正常的。我不知道这个函数的正确用法是什么,但我认为你必须将“superArray”传递给函数而不是“list”

于 2013-04-19T18:16:56.067 回答