这是构造函数:
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;
};
})();