Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在类内调用函数?_Javascript_Oop_Linked List - Fatal编程技术网

Javascript 如何在类内调用函数?

Javascript 如何在类内调用函数?,javascript,oop,linked-list,Javascript,Oop,Linked List,所以,我正在尝试学习基于类或OOP,如果你想调用它,我正在写一个链表。所以我创建了一个类并编写了一些函数。我很难弄清楚如何调用这些函数,以便console.log输出。在Javascript中,我可以通过console.log(functionName)简单地调用some函数并查看输出,但是如何使用基于类的函数呢 我只想调用linkedList类中的所有函数,如size、insertFirst等,并将输出记录在控制台日志中。我怎样才能达到同样的效果 我是OOP世界的新手,所以请原谅我的无知,或者

所以,我正在尝试学习基于类或OOP,如果你想调用它,我正在写一个链表。所以我创建了一个类并编写了一些函数。我很难弄清楚如何调用这些函数,以便
console.log
输出。在Javascript中,我可以通过
console.log(functionName)
简单地调用some函数并查看输出,但是如何使用基于类的函数呢

我只想调用linkedList类中的所有函数,如
size
insertFirst
等,并将输出记录在控制台日志中。我怎样才能达到同样的效果

我是OOP世界的新手,所以请原谅我的无知,或者如果你觉得这是一个愚蠢的问题

检查此代码:-

 class Node {
    constructor(data, next = null) {
        this.data = data;
        this.next = next;
    }
}

class LinkedList {
    constructor() {
        this.head = null;
    }

  insertFirst(data) {
      this.head = new Node(data, this.head);
  }  

  size() {
      let counter = 0;
      let node = this.head;

      while(node) {
          counter++
          node = node.next
      }
      return counter;
  }
}

const list = console.log(new LinkedList());
list.head = console.log(new Node(10));
谢谢你的帮助!!谢谢你

--编辑:我对你的课程做了一些修改。我认为我在
LinkedList
类中编写的
print
方法可能对您有所帮助,我更喜欢
setHead
方法而不是
insertFirst
--

类节点{
构造函数(数据,next=null){
这个数据=数据;
this.next=next;
}
}
类链接列表{
构造函数(){
this.head=null;
}
设置头(节点){
this.head=节点;
}  
大小(){
设计数器=0;
让node=this.head;
while(节点){
柜台++
node=node.next
}
返回计数器;
}
打印(){
让node=this.head;
while(节点){
console.log(node.data);
node=node.next
}
}
}
让myList=newLinkedList();
设bob=新节点(“bob”);
让joe=新节点(“joe”,bob);
让卡尔=新节点(“卡尔”,乔)
让alice=新节点(“alice”,carl)
我的列表。刚毛(爱丽丝);
//打印节点中的数据
控制台日志(carl.data);
console.log(bob.data);
console.log(joe.data);
console.log(alice.data);
//印刷尺寸
console.log(myList.size())
//打印整个列表
myList.print()

console.log()
赋值给变量将始终导致未定义 你可以试试这个

const lists =new LinkedList()
console.log(lists)
lists.head = new Node(10)
console.log(lists.head)
要在类内调用函数,首先使用构造函数从类中创建一个对象,并将任何值传递给承包商 然后你只需像这样调用函数

class类对象{
建造师(苹果){
这个。苹果=苹果
}
printName(){
console.log(this.apple,“apple”)}
}
const apple=新类对象(“奶奶”)

apple.printName()
使用
控制台包装构造函数调用。log
记录对象,然后将其丢弃,并将
控制台.log
的返回值赋值给
常量列表和
列表.head
变量。只需执行
const list=new LinkedList()
并稍后使用
console.log(list)
在另一行记录即可
console.log
显示输出,与您似乎指出的帮助调用方法无关。@ggorlen Ohhh我明白了!!我想这是有道理的!!顺便说一句,谢谢你的提示!!现在我终于可以在控制台中看到我的输出了!!如果你加上这个作为答案,我会接受的。嘿,谢谢!!这是有效的,这是伟大的,因为它已经开始有点意义,我!!