Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:我不能实例化一个类_Javascript_Object_Scope - Fatal编程技术网

JavaScript:我不能实例化一个类

JavaScript:我不能实例化一个类,javascript,object,scope,Javascript,Object,Scope,我试图创建一个面向对象的应用程序,但我不能引用或实例化我创建的任何类。我一直在遵循来自和其他来源的语法,但似乎没有任何效果,我正在使用在线沙盒 在下面的代码中,永远不会到达第二条alert语句。有人知道为什么吗? 小提琴: JavaScript 阶级英雄{ 构造函数名{ this.name=heroName; } 得名{ 返回此.name; } 设置名称newname{ this.name=newName; } } 函数getHeros{ 阿勒蒂; var hero1=新英雄超人; alert

我试图创建一个面向对象的应用程序,但我不能引用或实例化我创建的任何类。我一直在遵循来自和其他来源的语法,但似乎没有任何效果,我正在使用在线沙盒

在下面的代码中,永远不会到达第二条alert语句。有人知道为什么吗? 小提琴:

JavaScript

阶级英雄{ 构造函数名{ this.name=heroName; } 得名{ 返回此.name; } 设置名称newname{ this.name=newName; } } 函数getHeros{ 阿勒蒂; var hero1=新英雄超人; alerthi2; alerthero1.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+

; } 你好,世界! 找英雄
问题在于,在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+

; } 你好,世界! 找英雄