그래서 나는 전체 개발 객체 지향 JavaScript 실습을 조사해 왔으며 다음 예제에 대해 궁금해합니다. 내가 알고있는 것처럼JavaScript 캡슐화
, 다음의 '비밀'필드 '개인'이다 (그리고 그것은 나에게 의미가 있습니다) :
var MyObject = function() {
var secret = 'sshhh';
this.getSecret() = function() {
return secret;
}
}
를이는 필드 비밀은 함수 영역 내부 기능이 있기 때문에 액세스 할 수 있지만 밖에서 아무것도 ... 지금까지는 너무 좋아.
그러나 나는 (더글러스 크록 포드의 책에서 특히) 주위 다음 본 적이 :
var MyObject = function() {
var secret = 'sshhh';
return {
getSecret : function() {
return secret;
}
}
}();
과의 차이가 무엇인지 궁금 해서요, 왜 더 나은 무엇입니까? 이 경우 우리는 개인 필드가있는 것과 동일한 객체를 반환하지는 않지만 필드에 직접 액세스 할 수 없으므로 큰 이점을 얻지 못한다는 것을 알고 있습니다.
내가 생각할 수있는 유일한 방법은 삭제 및 덮어 쓰기/덮어 쓰기 시나리오를 피하는 것입니다. – lucas1000001
JavaScript : 좋은 부품 - 글쎄, 몇 페이지 뒤집어서 여러 번 혼란스러워하기 때문에이 책을 읽기가 거의 시작되지 않는다 ... –
그래, 말해봐 : S - 좋다. 마음! – lucas1000001