为什么出现此错误:未捕获的TypeError:this.createLink不是位于 1:9? 的新链接处的函数。

问题描述 投票:0回答:2
我遇到此错误:Uncaught TypeError: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”);作为测试。

我遇到此错误:Uncaught TypeError:this.createLink不是JavaScript中新Link的函数,Paragraph类工作得很好。 class段落{builder(text){this ....

javascript jquery dom
2个回答
2
投票
所以您遇到此问题的原因是由于构造函数的奇怪属性。

0
投票
super(text);构造函数中的Link调用constructor类的Paragraph。正在创建Paragraph的新实例,但不返回该实例,而是返回createParagraph()方法的值。
© www.soinside.com 2019 - 2024. All rights reserved.