JavaScript 如何使变量在构造函数中变为私有
在JavaScript中,没有特定的方法将变量声明为构造函数中的私有变量。如果一个变量是真正的私有变量,意味着它无法从外部访问。构造函数是一个生成类的新实例的函数,有时也被称为“对象”。构造函数的工作是构建一个对象,并为该对象的属性分配或设置值(如果属性存在)。
让我们通过几个示例看看如何在构造函数中将变量声明为私有变量。
示例1: 在原型上定义了两个方法,getElement和setElement。setElement 方法不起作用。在下面的示例中,我们创建了一个取值为15的对象a,将相同的值赋给了变量b,以表明我们可以使用getElement方法获取值,但不能使用setElement方法设置或覆盖值,因为args没有声明为变量,而是传递给一个新变量,所以它是私有的。通过以下面的方式声明变量,该变量不能被任何其方法进一步修改,它是私有的。
JavaScript
<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构造函数中存在使变量private的完美方法,因此可以使用这些方法。它允许我们的值在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
极客教程