我有一个像这样定义的javascript类:
myClass = {
var1:0,
var2:0,
initVars: function() {},
method1: function() {},
method2: function() {}
}
现在这个类在加载时立即实例化。 (我相信)并且这个类只有一个实例。
现在假设我希望其中一个函数myClass.initVars()在类准备好后立即运行,这可能吗?因为此刻我在这个类定义的位置下有这条线
myClass.initVars();
所以只要这个类完成定义,它就会移动到下一个命令。
但是我可以在类定义下面删除这一行并让它自动运行吗?
答案 0 :(得分:1)
这应该做你想要的。在自动执行的函数内创建对象,并在其中调用initVars方法,然后返回新创建和初始化的对象。
myClass = (function(){
var that = {
var1:0,
var2:0,
initVars: function() {},
method1: function() {},
method2: function() {}
};
that.initVars();
return that;
})();