Этот конструктор:метод на классе - статический член
function Foo() {
this.id = 0;
}
Я метод создания на «класс» здесь:
Foo.id = function() {
return id form Product + 1; // pseudocode
}
Foo.id() // 1
Foo.id() // 2
Ну, я хочу, чтобы вызвать метод (идентификатор) в конструкторе без создания экземпляра Foo, где метод id() получает доступ к идентификатору открытого участника и устанавливает его в id + 1. Также, когда я создаю экземпляр, метод идентификатора вызова при его создании и устанавливает идентификатор. Во-первых, это закрытие для меня. Любая помощь будет оценена и ссылки для дальнейшего чтения.
Я собираюсь создавать экземпляры Foo позже, вот шаблон:
var myFoo = new Foo({
title: "titlevalue", // string
price: n // ni is integer
});
Я хочу, чтобы каждый экземпляр также имел свойство идентификатора, который генерируется на конкретизации, так как есть по умолчанию идентификатор свойства в конструкторе ,
[соответствующий] (http://stackoverflow.com/questions/7694501/class- статический метод-в-JavaScript/7694583 # 7694583). – zzzzBov
Что вы подразумеваете под "* public member' id' * "? 'This.id' является свойством экземпляров, поэтому вы не можете установить это без создания экземпляра (если вы не хотите его установить на прототипе, где он будет применяться ко всем экземплярам, включая еще не созданные) – Bergi
@Bergi Я допустил ошибку. Да, this.id является свойством экземпляра, но я также хочу установить какое-то значение по умолчанию, а затем увеличивать его после создания экземпляра или метода вызова класса. –