类的方法 - 静态成员



这是构造函数:

function Foo() {
    this.id = 0;
}

我在这里创建"类"的方法:

Foo.id = function() {
    return id form Product + 1; // pseudocode
}
Foo.id() // 1 
Foo.id() // 2

好吧,我想在不创建 Foo 实例的情况下在构造函数上调用方法 id(),其中 id() 方法访问公共成员 ID 并将其设置为 id + 1。另外,当我创建实例时,在创建实例时调用id方法并设置id成员。第一件事是关闭我。任何帮助将不胜感激,并提供了进一步阅读的链接。

我稍后将创建 Foo 的实例,这里是模板:

var myFoo = new Foo({
    title: "titlevalue", // string
    price: n // ni is integer
});

我希望每个实例也有 id 属性,该属性是在实例化时生成的,因为构造函数中有默认属性 id。

函数是一个对象。在函数上放置第二个属性。

Foo.currentId = 0;
Foo.id = function() {
    return ++Foo.currentId;
};

如果你坚持让它"私有",你可以在函数内创建一个函数:

Foo.id = (function() {
    var id = 0;
    return function() {
        return ++id;
    };
})();

最新更新