사실 매우 간단하니 말도 안되는 소리는 하지 마세요. 아래 코드와 코멘트를 읽어보시면 확실히 이해되실 거라 믿습니다!
//실제로 클래스를 선언합니다. JavaScript의 메소드, 네임스페이스, 클래스, 멤버... 모든 것이 객체입니다
MyClass =function(){
var _this=this//Private 변수
var aa="11" ;
//공용 변수
this.bb="22";
//비공개 메서드
function fun1(){
alert(aa); );
}
//개인 메서드
var fun2=function(){
alert(aa)
alert(_this.bb); 공개 메소드
this.fun3=function(){
alert(aa);
alert(_this.bb);
}
}
//테스트는 다음과 같습니다.
var mc =new MyClass();
mc.aa="AA";//오류
mc.bb="BB";//정답
mc.fun1();// 오류
mc .fun2();//오류
mc.fun3();//수정됨
간단히 말하면 클래스 내부에 var 키워드로 선언하세요
변수 또는 메소드는 비공개입니다.
function 키워드로 선언된 메소드는 비공개입니다.
this 키워드로 선언된 변수 또는 메소드는 공개입니다.
위 내용은 모두 인스턴스 클래스에 대한 것이지만 정적 클래스의 경우에는 더욱 간단합니다. JavaScript 정적 클래스는 실제로 json 객체이므로 모든 멤버가 외부에 공개됩니다.
저자: Xiang 삼촌
출처: http://xumingxiang.cnblogs.com/