이번에는 예제를 직접 살펴보겠습니다.
/***정적 클래스 정의***/
var StaticClass = (function(){
var Return = {
속성: "정적 속성 테스트", //공용 속성
메서드: function() { //공개 메소드
alert(_Field); //비공개 필드 호출
privateMethod(); //비공개 메소드 호출
}
} //반환된 공개 객체 정의
var _Field = "정적 필드 테스트"; //전용 필드
var privateMethod = function(){ //전용 메서드
alert(Return.Property); //속성 호출
}
return Return; //공용 정적 요소 생성
})();
이번에는 클로저를 사용하여 구현했습니다. 가장 중요한 점은 값 유형과 참조로 확장되는 것입니다. 유형 개념. js에서는 Object가 참조 유형입니다. 클로저에서는 속성과 메서드가 포함된 Object에 대한 참조를 던집니다. 이런 식으로 Object가 외부로 던져져 공개된다고 할 수도 있습니다. StaticClass 변수는 Return 참조를 받습니다. 클로저 내부의 비공개 필드와 메서드는 발생하지 않으므로 비공개 환경이 형성됩니다.
우리는 프로그램이 너무 혼란스럽지 않도록 JS를 청크하는 데 이 기술을 자주 사용합니다.
위 예시에서 한 번도 해본 적이 없는 형제님들도 직접 해보실 수 있습니다. 잊어버렸습니다. 다음과 같은 예제를 시도해 볼 수 있습니다.
StaticClass.Method()
StaticClass.Property = "Test2";
StaticClass.Method();
얼마나 멀리 갈 수 있는지는 누구와 함께 여행하는지에 따라 다릅니다.