0
以下のコードでは、インスタンス化されたすべてのページオブジェクトは静的変数 'nextId'からIDを取得します。 nextIdをリセットする最良の方法は何ですか?インスタンス化されたオブジェクトからアクセスされるため、私はそれをやっているのが好きではありません。私はむしろ次のようなことをしたい:プロトタイプパターンでプライベート静的変数を作成する方法
Page.reset()。どのように可能ですか?
https://plnkr.co/edit/heOz52QxK6CExhe8Hdfm?p=preview
var Page = (function() {
var nextId = 0;
function Page(content) {
this.id = nextId++;
this.content = content;
}
Page.prototype.reset = function() {
nextId = 0;
}
Page.prototype.show = function() {
console.log(this.content + ' is ' + this.id);
}
return Page;
}())
var a = new Page('a')
a.show() // a is 0
var b = new Page('b')
b.show() // b is 1
var c = new Page('c')
c.show() // c is 2
a.reset()
var d = new Page('d')
d.show() // d is 0
あなたは、静的メソッドをしたい場合は、単に入れていませんそれはプロトタイプではなく、 'Page'自体にありますか? – Bergi