gpt4 book ai didi

javascript - Javascript 中的私有(private)成员。它们可以是非静态的吗?

转载 作者:行者123 更新时间:2023-11-29 20:10:47 24 4
gpt4 key购买 nike

我这里有这段代码:

var Person = (function() {
var name;

var PersonConstructor = function(n) {
name = n;
};

PersonConstructor.prototype.getName = function() {
return name;
};

return PersonConstructor;

})();

var people = [];
var person1 = new Person("Foo");
var person2 = new Person("Bar");
alert(person1.getName()); // I want it to be Foo
people.push(person1);
people.push(person2);

我从 here. 得到了模拟类的想法.但是当然,我忽略了一个事实,即私有(private)变量 var name; 也是一个静态变量。由于这阻碍了我目前的努力,我想知道是否有办法在此示例中保留私有(private)行为但避免静态行为?

最佳答案

使用这个

var Person = (function() {
var PersonConstructor = function(n) {
this.name = n;
};

PersonConstructor.prototype.getName = function() {
return this.name;
};

return PersonConstructor;
})();

不幸的是,这不会保留私有(private)状态。

关于javascript - Javascript 中的私有(private)成员。它们可以是非静态的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10062583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com