我正在阅读有关在javascript中创建对象的最佳方法,并找到了一个有趣的解决方案here。
var Foo = function()
{
var privateStaticMethod = function() {};
var privateStaticVariable = "foo";
var constructor = function Foo(foo, bar)
{
var privateMethod = function() {};
this.publicMethod = function() {};
};
constructor.publicStaticMethod = function() {};
return constructor;
}();
我一直在玩这种结构,但我想知道如何做一些事情。
如何从privateStaticVariable
内访问privateStaticMethod
或constructor.publicStaticMethod
?
如果我创建第二个公共方法,例如constructor.secondPublicStaticMethod = function(){};
,我该如何从constructor.publicStaticMethod
内访问它?
如果我要实例化此对象,我如何从constructor
中访问所有静态属性和方法?
答案 0 :(得分:3)
如何从
中访问privateStaticVariable
privateStaticMethod
或constructor.publicStaticMethod
您只需使用其名称即可访问它们,因为它们是constructor.publicStaticMethod
内的constructor.secondPublicStaticMethod = function(){};
所包含的变量。
如果我创建第二个公共方法,例如
中访问它constructor.publicStaticMethod
,我如何从secondPublicStaticMethod
由于constructor
是在constructor.secondPublicStaticMethod
对象上定义的函数,因此您可以像constructor
如果我要实例化此对象,我怎样才能从
中访问所有静态属性和方法privateStaticVariable
这与上面提到的类似。您只需分别撰写privateStaticMethod
和privateStaticVariable
即可访问privateStaticMethod
和constructor
。可以使用constructor.publicStaticMethod
confirm
上定义的功能