如何在JavaScript中使构造函数中的变量变为私有的

如何在JavaScript中使构造函数中的变量变为私有的

在JavaScript中,没有特定的方法可以使构造函数中的变量成为私有的。如果一个变量是真正的私有变量,意味着它无法从外部访问。构造函数是一个生成类的新实例,有时被称为“对象”的函数。构造函数的作用是构建一个对象,并为对象的属性分配或设置值(如果它们存在)。

让我们通过几个例子来看看如何在构造函数中使变量变为私有的。

示例1: 在原型上定义了两个方法,getElement和setElement。setElement方法不起作用。在下面的示例中,我们创建了一个值为15的对象a,将相同的值赋给变量b以展示我们可以使用getElement方法来获取值,但我们无法使用setElement方法来设置或覆盖值,因为args没有被声明为变量,它被传递给一个新变量,所以它保持私有。通过以下方式声明变量,变量不能由其任何方法进一步修改,它保持私有。

<script>
  function func(args) {
    var element = args;
  
    this.getElement = function () {
      return element;
    };
    this.setElement = function (input) {
      element = input;
    };
  }
  
  var a = new func(15);
  var b = a.getElement();
  console.log(b);
  a.setElement(5);
  var c = a.element;
  console.log(c);
</script>

输出:

15
undefined

示例2: 在before方法中,声明了一个变量,并将传入函数的值赋给它。在这个示例中,没有声明新变量来传递args的值。因此,我们不能更改在函数中未定义的变量的值。因此,setElement不能像前一个示例那样帮助我们创建一个新变量。由于在javascript构造函数中没有完美的方法使变量变为私有,因此可以使用这些方法。它允许我们的值在javascript构造函数中不被改变。

<script>
  function func(args) {
    this.getElement = function () {
      return args;
    };
    this.setElement = function (input) {
      args = input;
    };
  }
  
  var a = new func(10);
  var b = a.getElement();
  console.log(b);
  a.setElement(5);
  var c = a.element;
  console.log(c);
</script>

输出:

10
undefined

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程