>  기사  >  웹 프론트엔드  >  JavaScript 객체 지향 비공개 멤버 및 공개 멤버_js 객체 지향

JavaScript 객체 지향 비공개 멤버 및 공개 멤버_js 객체 지향

WBOY
WBOY원래의
2016-05-16 18:27:381165검색

사실 매우 간단하니 말도 안되는 소리는 하지 마세요. 아래 코드와 코멘트를 읽어보시면 확실히 이해되실 거라 믿습니다!

코드 복사 코드는 다음과 같습니다.

//실제로 클래스를 선언합니다. 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/
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.