使用singleton javascript类加载运行的自动方法
我有一个javascript类,定义如下:使用singleton javascript类加载运行的自动方法,javascript,class,singleton,Javascript,Class,Singleton,我有一个javascript类,定义如下: myClass = { var1:0, var2:0, initVars: function() {}, method1: function() {}, method2: function() {} } 现在这个类在加载时立即实例化。(我相信)这门课只有一个例子 现在让我们假设我想要一个函数myClass.initVars()在类准备好后立即运行,这可能吗?因为现在我在定义类的下面有一行 myClass.ini
myClass = {
var1:0,
var2:0,
initVars: function() {},
method1: function() {},
method2: function() {}
}
现在这个类在加载时立即实例化。(我相信)这门课只有一个例子
现在让我们假设我想要一个函数myClass.initVars()在类准备好后立即运行,这可能吗?因为现在我在定义类的下面有一行
myClass.initVars();
因此,一旦定义完这个类,它就会转到下一个命令
但是我是否可以删除类定义下面的这一行并让它自动运行?这应该可以满足您的需要。在自动执行的函数中创建对象,并在其中调用initVars方法,然后返回新创建和初始化的对象
myClass = (function(){
var that = {
var1:0,
var2:0,
initVars: function() {},
method1: function() {},
method2: function() {}
};
that.initVars();
return that;
})();
JavaScript没有“类”。您只需定义一个对象。不,没有别的办法。您可以立即调用
initVars
,然后从该方法返回对象并将其分配给myClass
。根据定义,javascript可能没有class关键字,但我强烈反对javascript没有“类”的说法。在这里,类的定义是“类是一个用于创建自身实例的蓝图的构造”,并且Javascript“对象”满足了标准。我想说javascript确实有“类”。撇开观点不谈,谢谢你的回答是的,我想你可以争论一下定义。我明白了。但在任何情况下,您都是直接创建对象,而不是构造函数。