JavaScript:我不能实例化一个类
我试图创建一个面向对象的应用程序,但我不能引用或实例化我创建的任何类。我一直在遵循来自和其他来源的语法,但似乎没有任何效果,我正在使用在线沙盒 在下面的代码中,永远不会到达第二条alert语句。有人知道为什么吗? 小提琴: JavaScript 阶级英雄{ 构造函数名{ this.name=heroName; } 得名{ 返回此.name; } 设置名称newname{ this.name=newName; } } 函数getHeros{ 阿勒蒂; var hero1=新英雄超人; alerthi2; alerthero1.name; document.getElementByIdHerosContainer.innerHTML=+hero1.name+; } 你好,世界! 找英雄JavaScript:我不能实例化一个类,javascript,object,scope,Javascript,Object,Scope,我试图创建一个面向对象的应用程序,但我不能引用或实例化我创建的任何类。我一直在遵循来自和其他来源的语法,但似乎没有任何效果,我正在使用在线沙盒 在下面的代码中,永远不会到达第二条alert语句。有人知道为什么吗? 小提琴: JavaScript 阶级英雄{ 构造函数名{ this.name=heroName; } 得名{ 返回此.name; } 设置名称newname{ this.name=newName; } } 函数getHeros{ 阿勒蒂; var hero1=新英雄超人; alert
问题在于,在Hero中,您将名称定义为访问器属性,但在访问器方法中,您将名称视为数据属性,这会导致无限循环。如果查看浏览器的devtools,将看到堆栈溢出异常
class Hero {
constructor(heroName) {
this.name = heroName;
}
get name() {
return this.name; // <=== Calls `get name` again, then again, then again...
}
set name(newName) {
this.name = newName; // <=== Calls `set name` again, then again, then again...
}
}
实例:
阶级英雄{
构造函数名{
这个。_name=heroName;
}
得名{
返回此。\u名称;
}
设置名称newname{
这个。_name=newName;
}
}
函数getHeros{
console.loghi;
var hero1=新英雄超人;
console.loghi 2;
console.loghero1.name;
document.getElementByIdHerosContainer.innerHTML=+hero1.name+;
}
你好,世界!
找英雄
问题在于,在Hero中,您将名称定义为访问器属性,但在访问器方法中,您将名称视为数据属性,这会导致无限循环。如果查看浏览器的devtools,将看到堆栈溢出异常
class Hero {
constructor(heroName) {
this.name = heroName;
}
get name() {
return this.name; // <=== Calls `get name` again, then again, then again...
}
set name(newName) {
this.name = newName; // <=== Calls `set name` again, then again, then again...
}
}
实例:
阶级英雄{
构造函数名{
这个。_name=heroName;
}
得名{
返回此。\u名称;
}
设置名称newname{
这个。_name=newName;
}
}
函数getHeros{
console.loghi;
var hero1=新英雄超人;
console.loghi 2;
console.loghero1.name;
document.getElementByIdHerosContainer.innerHTML=+hero1.name+;
}
你好,世界!
找英雄