首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >例如/静态变量的JavaScript框架?

例如/静态变量的JavaScript框架?
EN

Stack Overflow用户
提问于 2013-11-02 01:41:14
回答 1查看 53关注 0票数 0

下面是我使用的当前方法,所有的东西都是公共的或私有的。然而,我想区分静态和实例。我怎么把这个加进去?

obj持有拥有您的类或对象,而config_module决定这是哪种类型的模块。

基于构造函数方法的所有私有、所有公共(静力学集合)或实例。

如果我确实使用了基于实例的属性,那么如何区分静态属性和基于实例的属性?

代码语言:javascript
复制
   $P.support = $P.parsel = function (obj, config_module) {
        $R.Parsel[obj.Name] = obj;

        // all properties are private

        if (!config_module) {
            return undefined;
        }

        // all properties are public

        if (config_module === true) {
            return obj;
        }

        // constructor based, all properties are public

        if (config_module === 'constructor') {
            var object_public;
            if (obj.constructor) {
                object_public = obj.constructor;
                delete obj.constructor;
            }
            $A.someKey(obj, function (val, key) {

                // like this ?

                if (/^s_/.test(key)) {
                    object_public[key] = val;

                // like this ?

                } else if (/^p_/.test(key)) {
                    object_public.prototype[key] = val;
                } else {
                    object_public.prototype[key] = val;
                }

            });
            return object_public;
        }
    };
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-02 02:01:40

通过向构造函数添加属性,您可以拥有(伪)静态内容:

代码语言:javascript
复制
function Something(){}
Something.getStaticFoo = function(){ return 'foo'; }
Something.getStaticFoo();
var instance = new Something();
instance.getStaticFoo(); // error

如果我理解您的代码,这与object_public[key] = val;是一样的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19738068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档