public 메소드 getter 및 setter를 노출시키지 않고 프로토 타입 메소드가 생성자에서 private 변수 (클로저를 통해 액세스 한 값)에 액세스하는 방법은 무엇입니까?프로토 타입에 정의 된 함수는 개인 변수에 액세스 할 수 있습니까?
function User() {
var value = 1;
this.increment = function() {
value++;
};
this.set = function (val) {
value=val;
};
this.get = function() {
return value;
};
}
User.protptype.add = function (value) {
this.set(this.get()+value);
}
get() 및 set()을 제거하고 add() 사본을 하나만 가질 수있는 방법은 무엇입니까?
의도는 add() 함수의 인스턴스가 하나만 있고 각 개체에 대해 만들어진 인스턴스가 아니라는 것을 보장하는 것입니다.이 개체는이 경우 private 변수, 생성자의 value 변수에 액세스 할 수 있습니다.
중복 가능성 [자바 스크립트 - 프로토 정의 함수 비공개 멤버 변수 액세스 (http://stackoverflow.com/questions/436120/javascript-accessing-private-member-variables-from-prototype-defined -functions) 및 [Prototype 함수에 액세스 할 수있는 private 변수를 만드는 방법?] (http://stackoverflow.com/questions/6307684/how-to-create-private-variable-accessible-to-prototype-function)을 참조하십시오. 두 번째 해결 방법이 있습니다. –