如何正确设置JavaScript命名空间和类?
如何正确设置JavaScript命名空间和类?
似乎有很多种方法来设置一个JavaScript应用程序,因此很难确定哪种方法是正确或最好的。下面的技术有什么区别或更好的方法吗?
MyNamespace.MyClass = { someProperty: 5, anotherProperty: false, init: function () { //进行初始化 }, someFunction: function () { //做一些事情 } }; $(function () { MyNamespace.MyClass.init(); });
另一种方式:
MyNamespace.MyClass = (function () { var someProperty = 5; var anotherProperty = false; var init = function () { //做一些事情 }; var someFunction = function () { //做一些事情 }; return { someProperty: someProperty anotherProperty: anotherProperty init: init someFunction: someFunction }; }()); MyNamespace.MyClass.init();
第一种技术更像是一个类。如果我来自服务器端的背景,这可能会有所不同。第二种技术看起来更冗余和有些别扭,但我也经常看到它被使用。请问有人可以帮忙解惑并提供前进的最佳方法吗?我想创建一个有很多类相互通信的应用程序。