Javascript 为什么会出现此错误:未捕获类型错误:this.createLink不是位于<;的新链接处的函数;匿名>;1:9?
我得到以下错误:未捕获类型错误:this.createLink不是函数 在JavaScript的新链接中,段落类工作得非常好Javascript 为什么会出现此错误:未捕获类型错误:this.createLink不是位于<;的新链接处的函数;匿名>;1:9?,javascript,jquery,dom,Javascript,Jquery,Dom,我得到以下错误:未捕获类型错误:this.createLink不是函数 在JavaScript的新链接中,段落类工作得非常好 class Paragraph { constructor(text) { this.text = text; return this.createParagraph(); } createParagraph() { var paragraph = document.createElement('p'); paragraph.appendChild(doc
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=newlink(“Text”,“google.com”);作为测试。因此,您遇到此问题的原因是构造函数的一个奇怪属性 此代码:
constructor(text) {
this.text = text;
return this.createParagraph();
}
使链接构造函数中的“this”实际上是createparation
的结果
老实说,我不知道为什么父构造函数会这样做,但是从两个构造函数中删除“return”应该不会导致这个错误
通常,构造函数不需要返回任何内容,您正在创建的实例默认情况下是从new
操作符“返回”的在链接中的code>构造函数调用段落
类的构造函数
。正在创建段落
的新实例,但不是返回该实例,而是返回createparation()
方法中的值
所以JavaScript试图基于一个与预期不同的值创建一个扩展类,但失败了。但是请记住,JavaScript类实际上不是类,而是在使用原型创建函数时的抽象层
但奇怪的是,用常规函数声明(旧的skool方式)重建它似乎确实可以让它工作。我对此感到困惑
功能段落(文本){
this.text=文本;
返回此.create段落();
}
paragration.prototype.createparagration=函数(){
var段落=document.createElement('p');
段落.appendChild(document.createTextNode(this.text));
返回段;
}
功能链接(文本、链接){
段落.调用(本,文本);
this.link=link;
返回这个.createLink();
}
Link.prototype=Object.create(段落.prototype);
Link.prototype.constructor=Link;
Link.prototype.createLink=函数(){
var aLink=document.createElement('a');
appendChild(document.createTextNode(this.text));
aLink.href=this.link;
返回aLink;
}
var link=新链接('hello','http://google.com');
控制台日志(链接)代码>并且在一些测试之后,如果返回的是对象,而不是字符串,则构造函数似乎会这样做。约翰,你想达到什么目的?一个有链接和段落的dom,像什么