我正在构建一个使用名为Chat.fetch()的函数的项目;它是一个异步函数,从服务器中提取字符串数组。这是一个ajax函数,为了项目的目的已经定义,我只需要正确调用它。我们给出了另一个名为Chat.display()的函数,它接受一个字符串并在控制台上以项目符号形式显示它。现在这就是我所拥有的:我收到的错误是无法读取未定义的属性长度。所以我猜super.rout是未定义的吗?目标是创建此函数并将其用作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>
答案 0 :(得分:0)
因为您发送list
作为superArray参数,而list
确实发送在undefined中
你需要发送superArray:
Chat.fetch(darray(superArray));
答案 1 :(得分:0)
将变量'list'传递给函数
Chat.fetch(darray(list));
列表在这一刻是未定义的,所以你不能在它上面使用'length'是正常的。 我不知道这个函数的正确使用是什么,但我认为你必须将'superArray'传递给函数而不是'list'
答案 2 :(得分:0)
尝试通过将变量设置为0来初始化变量。var list = 0
;