Javascript 如何创建构造函数计数?

Javascript 如何创建构造函数计数?,javascript,object,constructor,Javascript,Object,Constructor,函数计数返回1,2,3。。。如何创建构造函数计数 var count = new Count(); count(); // 1 count(); // 2 全局声明变量: var计数器=0 创建一个函数以返回值: function count() { return ++counter; } 构造函数在很大程度上需要返回一个对象, 因此,在构造函数中返回一个数字只会返回该函数的实例, 不是电话号码。但是,您可以显式返回对象,因此可以得到的最接近对象是: ;(function() {

函数计数返回1,2,3。。。如何创建构造函数计数

var count = new Count();
count(); // 1
count(); // 2

全局声明变量:

var计数器=0

创建一个函数以返回值:

function count() {
  return ++counter;
}

构造函数在很大程度上需要返回一个对象, 因此,在构造函数中返回一个数字只会返回该函数的实例, 不是电话号码。但是,您可以显式返回对象,因此可以得到的最接近对象是:

;(function() {

    var count = 0;

    window.Count = function() {
        return new Number(count += 1);
    }
})()

var a = +new Count // 1
var b = +new Count // 2
当然,你可以这样做:

window.count = (function(){
    var i = 0;
    return function() {
        return i += 1;
    }
})()

var a = count() // 1
var b = count() // 2

这在大多数情况下更有意义。

计数函数代码在哪里?恐怕这就是提问者希望我们为他/她写的…@FrédéricHamidi如果是这样,那么让新手为他写吧。我不是要求我写,我是线索,因为我不知道如何使计数器值返回。。。也许你可以显示你可以阅读的地方。这不起作用,因为下次调用c时,c的值总是1。@Aashray我想你错了,c保存在函数范围内:哦,没有看到内部函数。我的错。你应该提到Count不是构造函数,不应该用new.+1调用实际的构造函数方法,但是你应该把Count方法放在prototype@Bergi对于一个甚至不知道如何构建简单构造函数的人来说,我不会把它复杂化,或者New Number创建一个Number对象,这是让构造函数返回数字的唯一方法,因为它必须返回一个对象。如果你有更好的解决方案,请分享。如果你想返回一个数字,就不要使用构造函数。这是我的第二个建议,但问题是如何创建构造函数Count,我想我会回答的。
function Count() {
    this.x = 0;
    this.count = function() {
        return (this.x += 1);
    };
}

counter = new Count();
counter.count(); //1
counter.count(); //2
function Count() {
    this.x = 0;
    this.count = function() {
        return (this.x += 1);
    };
}

counter = new Count();
counter.count(); //1
counter.count(); //2