繁体   English   中英

访问私有静态对象和方法

[英]Access private static object and method

我正在阅读有关在javascript中创建对象的最佳方法,并在此处找到了一个有趣的解决方案。

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;
}();

我一直在玩这种结构,但我想知道如何做一些事情。

  • 如何从constructor.publicStaticMethod访问privateStaticVariableprivateStaticMethod

  • 如果我创建第二个公共方法,如constructor.secondPublicStaticMethod = function(){}; ,我如何从constructor.publicStaticMethod访问它?

  • 如果我要实例化此对象,我如何从constructor访问所有静态属性和方法?

如何从constructor.publicStaticMethod访问privateStaticVariableprivateStaticMethod

您可以简单地使用它们的名称来访问它们,因为它们是constructor.publicStaticMethod中的封闭变量,因为closure属性

如果我创建第二个公共方法,如constructor.secondPublicStaticMethod = function(){}; ,我如何从constructor.publicStaticMethod访问它

由于secondPublicStaticMethod是在constructor对象上定义的constructor ,因此您可以像constructor.secondPublicStaticMethod一样简单地调用它。

如果我要实例化此对象,我如何从constructor访问所有静态属性和方法

这与上面提到的类似。 您只需分别编写privateStaticVariableprivateStaticMethod即可访问privateStaticVariableprivateStaticMethod 和上定义的函数constructor可以访问constructor.publicStaticMethod

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM