首先,我在 JavaScript 方面的经验仅限于 Web 开发和一些自学。我想了解在 JavaScript 中拥有私有(private)成员的意义。举个例子,
var myObject = {
WriteWord: function() {
var secret = 'word';
document.writeln(secret);
}
};
myObject.WriteWord();
调用者不能看到私有(private)变量secret
。 AFAIK,我可以通过几种方式通知潜在调用者 WriteWord
的存在:
- 记录代码。 Like jQuery does .
- 对于 .NET 人员,编写自定义 visual studio intellisense 插件。
- 直接阅读代码。
现在假设我缩小甚至混淆了代码。它现在不可读。在我看来,鉴于这种情况,缺少文档与私有(private)变量一样好。
这个场景是不常见的还是错误的? JavaScript 中私有(private)变量的重要性是什么?
最佳答案
在 Javascript 或任何其他语言中,封装和私有(private)变量的全部目的是以一种允许随时更改类的实现而不破坏其余部分的方式来限制自己的代码。您可以将 secret 重命名为任何其他名称或将其完全删除,并确保代码将继续正常工作。
另一方面,公共(public)方法是生产者和消费者之间的耦合点,您不能轻易更改公共(public)接口(interface)、方法名称或参数而不冒破坏依赖于它的程序的其他部分的风险. (这与代码是否被混淆或它的文档处理方式完全无关 - 如果有人使用公共(public)方法,耦合将已经存在)
关于javascript - 私有(private)变量是否有 "typical"用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7881335/