2016-09-19 2 views
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 
+1

, 단지 넣지 마십시오 그것은 프로토 타입에 있지만'Page' 자체에 있습니까? – Bergi

답변

0

#reset을 (정의), 오히려 그것의 프로토 타입보다는 : 정적 방법을 원하는 경우에

Page.reset = function() { 
    nextId = 0; 
}