使用singleton javascript类在load上运行的自动方法

时间:2011-09-28 09:51:07

标签: javascript class singleton

我有一个像这样定义的javascript类:

myClass = {
    var1:0,
    var2:0,
    initVars: function() {},
    method1: function() {},
    method2: function() {}
}

现在这个类在加载时立即实例化。 (我相信)并且这个类只有一个实例。

现在假设我希望其中一个函数myClass.initVars()在类准备好后立即运行,这可能吗?因为此刻我在这个类定义的位置下有这条线

myClass.initVars();

所以只要这个类完成定义,它就会移动到下一个命令。

但是我可以在类定义下面删除这一行并让它自动运行吗?

1 个答案:

答案 0 :(得分:1)

这应该做你想要的。在自动执行的函数内创建对象,并在其中调用initVars方法,然后返回新创建和初始化的对象。

myClass = (function(){
   var that = {
      var1:0,
      var2:0,
      initVars: function() {},
      method1: function() {},
      method2: function() {}
   };
   that.initVars();
   return that;
})();

http://jsfiddle.net/CQ29F/