当前位置: 首页 > 知识库问答 >
问题:

无法在类的构造函数[duplicate]之外定义变量

宗安宁
2023-03-14
class Polygon {  
     constructor() {
          this.name = "Polygon";

          var goodboy = "I like pie...I can stay since I'm legal!";
     }

     var badboy = "what're you gonna do when they come for you? delete me to get rid of all your problems!";

}

var poly1 = new Polygon();

console.log(poly1.name);

前面提到的代码是从MDN修改的。这段代码没有任何意图,只是为了变量声明示例的目的。

共有1个答案

董建茗
2023-03-14

无法在类的构造函数之外定义变量

是的,这在语法上是不成立的。

我将一个变量放在class封装中,同时将其放在constructor()之外。

 类似资料:
  • 问题内容: 如果我有一个像这样的构造函数: 然后,我如何在与构造函数相同的类中的方法中使用变量c和d,因为尝试仅在方法中使用变量名似乎不起作用? 问题答案: 实际上,您的代码将无法编译- 无效。 我认为您的意思是:- 。 然后我如何在与构造函数相同的类中的方法中使用变量c和d 您不能这样做,因为您已将它们声明为局部变量,其范围在构造函数结束执行时终止。 您应该将它们声明为实例变量。

  • 我有两个类, 并且它只是抛出异常,似乎没有分配。为什么?

  • 问题内容: 简单的问题。一位内心的朋友编写了与此代码类似的代码(这只是为了向您解释我的问题,根本没有用…。) 我告诉他他应该把构造函数放进去 当他问我为什么时,我不知道该怎么回答:除了“这样更好”之外,我没有明确的论点。以我的学习方式,您可以使用基本类型(int,double …)初始化变量,但对于数组,则应在构造函数中进行初始化。 所以: 真的更好吗? 是否有一些很好的理由:约定,样式? 它会改

  • 在.citydoor.imports.catalog.tools中打包;

  • 问题内容: 我可以在类定义之外创建,甚至可以在另一个模块中创建吗? 问题答案: 是。您可以在类外部定义函数,然后在类主体中将其用作方法: 您也可以在定义一个函数后将其添加到类中: 您可以根据需要在不同的模块中定义函数和类,但是我建议不要在一个模块中定义该类,然后再将其导入另一个模块中并向其中动态添加方法(如第二个示例),因为那样的话d根据是否已导入另一个模块,其行为与类具有令人惊讶的不同。 我要指

  • 为什么我不能在之外调用变量,这是我的代码