有一个很好的通用方法可以在 Javascript 中定义私有(private)和 protected 属性和方法,here on the site .但是,当前版本的 Prototype (1.6.0) 没有通过其 Class.create()
定义它们的内置方式。语法。
我很好奇当开发人员在使用 Prototype 时想要定义私有(private)和 protected 属性和方法时,最佳实践是什么。有没有比通用方法更好的方法?
最佳答案
您可以做的是在原型(prototype)的构造函数(初始化)中使用局部变量,然后创建一个闭包来访问/公开此变量给您的公共(public)方法。
这是一个代码示例:
// properties are directly passed to `create` method
var Person = Class.create({
initialize: function(name) {
// Protected variables
var _myProtectedMember = 'just a test';
this.getProtectedMember = function() {
return _myProtectedMember;
}
this.name = name;
},
say: function(message) {
return this.name + ': ' + message + this.getProtectedMember();
}
});
这是道格拉斯·克罗克福德关于这个主题的理论。
关于javascript - 使用 Prototype 的 Class.create 定义私有(private)/ protected 属性和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/895712/