Кажется, существует так много способов настроить приложение JavaScript, так что это путается в отношении того, какой из них правильный или лучший. Есть ли какая-либо разница в нижеприведенных методах или лучший способ сделать это?
MyNamespace.MyClass = {
someProperty: 5,
anotherProperty: false,
init: function () {
//do initialization
},
someFunction: function () {
//do something
}
};
$(function () {
MyNamespace.MyClass.init();
});
Другой способ:
MyNamespace.MyClass = (function () {
var someProperty = 5;
var anotherProperty = false;
var init = function () {
//do something
};
var someFunction = function () {
//do something
};
return {
someProperty: someProperty
anotherProperty: anotherProperty
init: init
someFunction: someFunction
};
}());
MyNamespace.MyClass.init();
Первый метод больше похож на класс. Я исхожу из серверного фона, если это имеет значение. Второй метод кажется более избыточным и немного неудобным, но я вижу, что это слишком много. Может кто-то, пожалуйста, поможет пролить свет и посоветовать лучший способ двигаться вперед? Я хочу создать приложение с большим количеством классов, разговаривающих друг с другом.