javascript自调用闭包';s的替代用法

javascript自调用闭包';s的替代用法,javascript,Javascript,我需要一种重写我已经编写的javascript变量的方法 以下是我所拥有的: var TEST = new function() { var a = 'a'; var b = 'b'; this.c = 'c'; this.getC = function() { return this.c; } }; 我对函数前面的新关键字不太满意(即使是jslint/jshint也不太喜欢) 我不希望使用key:value对表示法,这可以通过

我需要一种重写我已经编写的javascript变量的方法

以下是我所拥有的:

var TEST = new function() {
     var a = 'a';
     var b = 'b';
     this.c = 'c';
     this.getC = function() {
         return this.c;
    }
};
我对函数前面的新关键字不太满意(即使是jslint/jshint也不太喜欢)

我不希望使用key:value对表示法,这可以通过以下代码实现:

var TEST = function() {
    return {
        a : 'a',
        b : 'b',
        c : 'c',
        getC : function() {
            return this.c;
        }
    }
}();
请提出任何更好的方法,除了键:值对符号

描绘上述问题的小提琴。

将其编成一个类:

function Thing(){
    this.a="a";
    this.b="b";
    this.c="c";
}
Thing.prototype.getC=function(){return this.c;}

(new Thing()).getC(); //"c"
JSHint是有效的

var TEST = (function() {
    function Test() {
        var a = 'a';
        var b = 'b';
        this.c = 'c';
        this.getC = function() {
            return this.c;
        };
    }
    return new Test();
})();

返回此值
,然后使用
调用({})
而不是
()
。这是我能想到的另一个选择。你为什么讨厌匿名对象?=)我觉得使用常规样式更容易:)