Я создаю объект javascript, который будет хранить информацию о пользователе, вошедшем на мой сайт (для простоты доступа), но для меня было очень трудно понять способы создания объекта в javascript.Я видел примеры с использованием прототипа, а другие - с использованием замыканий, я решил остаться с замыканиями, потому что мне понадобится только один экземпляр этого объекта, и, следовательно, не большие затраты.
Интересно, правильно ли то, что я делаю, и есть ли способ улучшить мой код, это мой код:
(function(window){
var mysite = (function() {
var me = this;
return { //public interface
init : function(userInfo){
me.user = userInfo;
return this;
},
sayHello : function(){
return 'Hello, my name is ' + me.user.name + ' and I am ' + me.user.age + ' years old.';
}
}
}());
window.mysite = function(userInfo){
return mysite.init(userInfo);
}
})(window);
var mysite = mysite({name : 'Jonathan', age : 17});
mysite.sayHello();
Edit # 1
Если я хотел бы добавить подобъекты к основному объекту MySite, и эти подобъекты имеют свои собственные методы и свойства, а также доступ к свойствам и методам основного объекта (MySite), яхотелось бы сделать что-то вроде этого:
mysite.timezone.calculeUserTimezone();
Как продолжить?