【发布时间】:2011-07-18 12:05:43
【问题描述】:
我正在创建一个 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();
编辑#1
如果我想在主对象 MySite 中添加子对象,并且这些子对象有自己的方法和属性,以及访问主对象(MySite)的属性和方法,我想做这样的事情:
mysite.timezone.calculeUserTimezone();
如何进行?
【问题讨论】:
标签: javascript oop closures