Javascript 如何在类内调用函数?
所以,我正在尝试学习基于类或OOP,如果你想调用它,我正在写一个链表。所以我创建了一个类并编写了一些函数。我很难弄清楚如何调用这些函数,以便Javascript 如何在类内调用函数?,javascript,oop,linked-list,Javascript,Oop,Linked List,所以,我正在尝试学习基于类或OOP,如果你想调用它,我正在写一个链表。所以我创建了一个类并编写了一些函数。我很难弄清楚如何调用这些函数,以便console.log输出。在Javascript中,我可以通过console.log(functionName)简单地调用some函数并查看输出,但是如何使用基于类的函数呢 我只想调用linkedList类中的所有函数,如size、insertFirst等,并将输出记录在控制台日志中。我怎样才能达到同样的效果 我是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我明白了!!我想这是有道理的!!顺便说一句,谢谢你的提示!!现在我终于可以在控制台中看到我的输出了!!如果你加上这个作为答案,我会接受的。嘿,谢谢!!这是有效的,这是伟大的,因为它已经开始有点意义,我!!