我是 Javascript 的新手,我的 SO 个人资料可以证明这一点。
我刚刚阅读了一些教程,遇到了一些我在应用 Javascript 时对面向对象和封装不完全理解的东西。
教程指出 Javascript 对象可以这样声明:
var myCustomObject = new Object();
你可以像这样给它实例变量:
myCustomObject.myVariable = "some value";
myCustomObject.myOtherVariable = "deadbeef";
最后,它指出您可以创建一个模板函数来创建新对象,如下所示:
function CustomObject(myVariable, myOtherVariable)
{
this.myVariable = myVariable;
this.myOtherVariable = myOtherVariable;
}
我还知道您可以为尚不存在的变量创建和赋值,结果是隐式声明,如示例中所示,其中 myCustomObject
没有 myVariable
,但现在可以了。
所以,我的问题是:有什么可以防止在代码的其他位置添加新变量。如果我试图了解一个对象是如何工作的以及我可以/应该用它做什么,我可能永远不会看到很可能在其他一些 .js 文件中的变量添加,因此无法完全理解该对象。 ..
另外,我怎么知道刚刚创建的某个对象不会突然在代码中添加了 60 个在创建时根本没有提到的变量?
如果可以“随心所欲”地向对象添加更多内容,你怎么能一眼就理解对象可以包含什么?
最佳答案
我不太相信我要引用蜘蛛侠的话,但是......
With great power comes great responsibility
JavaScript 强大而灵活,给程序员很大的自由度。它没有旨在阻止程序员编写错误代码的功能。当您编写 JavaScript 时,您有责任确保代码是好的,而不是语言。
关于javascript - 封装在 Javascript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3967008/