javascript - 在构造函数中声明变量有什么用

标签 javascript

我正在研究 Javascript 中基于类的结构

至少可以说,我创建了一个简单的类

class something { 
  constructor() {
  var name = "somexyz"
  this.age = 13 
  } 

  somefunc () {
    console.log(this.name)//Undefined
    console.log(name) //blank space
    console.log(this.age) //13
  }
}

然后调用它

let foo = new something()
foo.somefunc()

哪个consoles.log(在上面代码的注释中提到) 1.未定义 2.空地 3. 13

或者采用构造函数

function something () {
  this.age =  11
  let age = 13 
  this.getAge = function () {
   return this.age
  }
}

在这里,

let somethingNew = new something() 

将返回年龄为 11

现在,我的问题是在构造函数中使用变量的确切目的是什么?

最佳答案

重点应该放在“简单类”上——局部变量的概念看似毫无意义,但实际上非常有用。

简单的例子——重复使用一个变量

class transport
{
    constructor ()
    {
      const someString = "IUseThisAgainAndAgain";
      this.type = 'someType';
      this.name = 'someName';
      this.serial = someString + "SOMETHING";
      this.model = someString + "something thing";
      this.example = someString + "another string concat";
    }
}

如您所见,我们大量使用了 someString。并且您会看到构造函数方法非常庞大,并且具有用于重复实例的变量将使代码具有更好的可读性,并允许您轻松地在一个地方修改实例。

关于javascript - 在构造函数中声明变量有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55500540/

相关文章:

javascript - 返回页面加载?

javascript - Fabric.js - 如何从 Sprite 表制作动画

javascript - 无法访问现有 Node 包的属性,因为它是 'undefined' 。为什么?

javascript - .html 不采用样式表类

javascript - 不变的JS参数不清楚

javascript - 在纯 JavaScript 中一一删除 childElements

javascript - 在 Flow 中定义子类型的正确方法是什么?

javascript - 当使用 JavaScript 单击方 block 时,如何使方 block 的颜色发生变化?

Javascript 从 vbscript 传递变量

javascript - Typescript:抽象泛型类的子类类型