gpt4 book ai didi

javascript - 为什么我收到此错误 : Uncaught TypeError: this. createLink is not a function at new Link at 1 :9?

转载 作者:行者123 更新时间:2023-12-02 21:33:51 26 4
gpt4 key购买 nike

我收到此错误:未捕获类型错误:this.createLink 不是函数 在 JavaScript 中的新 Link 中,Paragraph 类工作得很好。

class Paragraph {
constructor(text) {
this.text = text;
return this.createParagraph();
}
createParagraph() {
var paragraph = document.createElement('p');
paragraph.appendChild(document.createTextNode(this.text));
return paragraph;
}
}

class Link extends Paragraph {
constructor(text, link) {
super(text);
this.link = link;
return this.createLink();
}
createLink() {
var aLink = document.createElement('a');
aLink.appendChild(document.createTextNode(this.text));
aLink.href = this.link;
return aLink;
}
}

我正在尝试执行以下命令:var a = new Link("Text","google.com");作为测试。

最佳答案

因此,您遇到此问题的原因是构造函数的一个奇怪属性。

这段代码:

constructor(text) {
this.text = text;
return this.createParagraph();
}

导致 Link 构造函数中的“this”实际上是 createParagraph 的结果。

老实说,我不知道为什么父构造函数会这样做,但是从两个构造函数中删除“返回”应该不会导致错误。

一般来说,构造函数不需要返回任何内容,您正在创建的实例默认从 new 运算符“返回”。

关于javascript - 为什么我收到此错误 : Uncaught TypeError: this. createLink is not a function at new Link at <anonymous>1 :9?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60555587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com