在Javascript中,访问私有成员的成员方法是否可以写在类的原型中?

2024-10-30 11:32:06
推荐回答(2个)
回答(1):

在Javascript中,访问私有成员的成员方法可以写在类的原型中
有一个Person类,拥有name这一私有属性。
// Javascript code:
var Person = (function () {
var name;
var P = function (theName) {
name = theName;
this.getName = function () {
return name;
};
};
P.prototype.setName = function (newName) {
name = newName;
};
return P;
}());
在以上代码中name变成了静态私有变量而不是成员私有变量。 虽然可以创建静态字典,但是代码的可读性会降低。

回答(2):

一般采用约定,js不适合做这种强制限制,对性能和可读性都有影响。
通用约定,一般是第一个字符是下划线的是私有方法和私有变量,外部不能调用。
前端在实施的过程中,约定和规范很重要,比任何语言都重要。
一般一个团队一开始,做的第一项工作就是规范制定,之后就要遵循这些约定,否则很容易把前端代码写乱。
既然系统不给太多限制,就需要自己来限制。