Javascript 这是什么怪物?

Javascript 这是什么怪物?,javascript,Javascript,我遇到了一些类似这样的javascript,我想知道它是什么。它的功能类似于在变量声明中定义和实例化的单例类。我怎么称呼这种类型的建筑 <script> var abacus= { runningSum:0 ,addSum:function(i){ this.runningSum += i; return this.runningSum; } ,subtra

我遇到了一些类似这样的javascript,我想知道它是什么。它的功能类似于在变量声明中定义和实例化的单例类。我怎么称呼这种类型的建筑

<script>
    var abacus=
    {
        runningSum:0
        ,addSum:function(i){
            this.runningSum += i;
            return this.runningSum;
        }
        ,subtractSum:function(i){
            this.runningSum -= i;
            return this.runningSum;
        }
    }
    console.log(abacus.addSum(3));
    console.log(abacus.subtractSum(2));
</script>

算盘=
{
运行总数:0
,addSum:function(i){
this.runningSum+=i;
返回此.runningSum;
}
,减和:函数(i){
this.runningSum-=i;
返回此.runningSum;
}
}
console.log(abacus.addSum(3));
console.log(abacus.subtractSum(2));

它只是一个对象文字,是定义“单例”的一种非常合理的方式。我认为它没有什么特别的名字

唯一奇怪的是缩进——大多数人会这样写:

var abacus = {
    runningSum: 0,
    addSum: function(i){
        this.runningSum += i;
        return this.runningSum;
    },
    subtractSum: function(i){
        this.runningSum -= i;
        return this.runningSum;
    }
};

它被称为对象文字


它不是怪物。它是一个分配给变量abacus的匿名对象构造函数(literal)。它有三个属性:runningSum、addSum和subtractSum。addSum和subtractSum被指定为匿名函数

感谢您的输入:)一个可爱的怪物,但仍然是一个怪物:-)