Javascript JS闭包:返回对象内的私有作用域增量计数器值

Javascript JS闭包:返回对象内的私有作用域增量计数器值,javascript,Javascript,我试图构建一个计数器增量方法,该方法可以被其他方法重用,并在每次调用该方法时返回计数器变量 var myClass = { //counter method "counter": (function(text){ var counter = 0; return function(text) { counter++ console.log(text+counter); } })

我试图构建一个
计数器增量
方法,该方法可以被其他方法重用,并在每次调用该方法时返回
计数器
变量

var myClass = {

    //counter method
    "counter": (function(text){
        var counter = 0;
        return function(text) {
            counter++
            console.log(text+counter);
        }
    })(), //how do you return this function without resetting the counter every time it is called?

    //every time this method is called the counter increases
    "myMethod": function(text) {
        myClass.counter(text);
    }
}

myClass.myMethod('the counter is at '); //the counter is at 1, 2, 3, etc.
本质上,我试图构建的是一个可重用的
计数器
方法,它将实例化新的计数器值,并彼此独立地递增

var myClass = {

    "counter": (function(text){
        var counter = 0;
        var this.text = text;
        return function(this.text) {
            counter++
            console.log(this.text+counter);
        }
    })(),

    "firstMethod": function(text) {
        myClass.counter(text);
        //do something that uses the counter
    },

    "secondMethod": function(text) {
        myClass.counter(text);
        //do something completely different that instantiates new private counter
    }
}

你说你想要新的柜台。在什么意义上?也许这个计数器更合适?方法调用私有计数器值(整数);每次调用该方法时,计数器整数都会增加,并且该值独立于调用同一函数的其他方法实例化的其他this.counter值。