Основные преимущества определения литералов объектов - не загрязнение глобального пространства имен и более чистая организация кода.
Ребекка Мерфи объясняет преимущества в этом сообщении в блоге:
http://rmurphey.com/blog/2009/10/15/using-objects-to-organize-your-code/
Я предпочитаю создавать объекты функционально, а не буквально, потому что функции JS являются первоклассными объектами.Следовательно, вы можете определить открытые методы и свойства, которые могут вызываться вне объекта, но также могут иметь закрытые переменные и функции, которые скрыты вне области видимости объекта.
function Alphabet() {
// public property
this.letters = 'xyx';
// private variable
var letters = 'abc';
// public method
this.speak = function(){
say("Now I know my ABCs");
}
// private function
function say(message){
alert(message);
}
}