그래서 프로토 타입 메서드 내부에서 개인 멤버에 액세스하는 주제에 대해 많은 논의가있었습니다.각 인스턴스에 대해 객체의 프로토 타입을 선언 할 때 오버 헤드가 발생합니까?
function Test(){
var private = "Private";
this.instance = function(){
return private;
};
Test.prototype.getPrivate = function(){
return private;
};
}
var test1 = new Test();
var test2 = new Test();
console.log(test1.instance === test2.instance); // false
console.log(test1.getPrivate === test2.getPrivate); // true
Turns out는 않습니다, 사실, 일을 : 생각은 다음과 같은 일을해야 나에게 발생했습니다. 그러나 나는 이것을하기에 단점이있을 수 있다고 우려하고 있습니다.
제 질문은 다음과 같습니다. 단점이 있습니까?
당신 말이 맞아,하지만 몇 가지 이상한 행동도있다 : http://jsfiddle.net/8DBTq/1/ – Shmiddty
기대하고있는 방식대로 작동하지는 않지만 정상적으로 작동합니다. 프로토 타입은 전역 변수와 같습니다. 모든 인스턴스는 하나의 사본을 공유합니다. 수정하면 모든 인스턴스에 대해 수정됩니다. – chuckj