链表包含函数返回false,为什么?JavaScript

链表包含函数返回false,为什么?JavaScript,javascript,data-structures,linked-list,Javascript,Data Structures,Linked List,单链表javascript实现。 对于头部,它返回true,但所有其他节点返回false。 为什么包含返回false的方法? 我想我的邮件功能会出错。 但当我打印链表时,它会给我所有的节点 “严格使用”; var LinkedList=function(){ this.head=null } 变量节点=函数(值){ 这个值=值; this.next=null; } LinkedList.prototype.addToHead=函数(值){ var n=新节点(值); 如果(!this.head

单链表javascript实现。 对于头部,它返回true,但所有其他节点返回false。 为什么包含返回false的方法? 我想我的邮件功能会出错。 但当我打印链表时,它会给我所有的节点

“严格使用”;
var LinkedList=function(){
this.head=null
}
变量节点=函数(值){
这个值=值;
this.next=null;
}
LinkedList.prototype.addToHead=函数(值){
var n=新节点(值);
如果(!this.head){
这个头=n;
}否则{
this.next=this.head;
这个头=n;
}
};
LinkedList.prototype.addToTail=函数(值){
var cur=null;
var n=新节点(值)
如果(!this.head){
这个头=n;
}否则{
cur=this.head;
while(当前下一个){
cur=cur.next;
}
cur.next=n;
}
}
LinkedList.prototype.contains=函数(值){
var node=this.head;
while(节点){
如果(node.value==值){
返回true;
}
node=node.next;
}
返回false;
};
var ll=新的LinkedList();
ll.addToTail(20)
ll.addToTail(40)
ll.addToHead(8)

console.log(ll.contains(40))
我认为问题出在addToHead函数中。当前,如果已存在一个head,您将丢失列表:

“严格使用”;
var LinkedList=function(){
this.head=null
}
变量节点=函数(值){
这个值=值;
this.next=null;
}
LinkedList.prototype.addToHead=函数(值){
var n=新节点(值);
如果(!this.head){
这个头=n;
}否则{

//this.next=this.head;我认为问题出在addToHead函数中。如果head已经存在,当前您将丢失列表:

“严格使用”;
var LinkedList=function(){
this.head=null
}
变量节点=函数(值){
这个值=值;
this.next=null;
}
LinkedList.prototype.addToHead=函数(值){
var n=新节点(值);
如果(!this.head){
这个头=n;
}否则{
//this.next=this.head;