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

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

WBOY
WBOY원래의
2016-05-16 18:28:121167검색

지난 두 섹션에서는 JavaScript 객체지향 네임스페이스javascript 객체지향 JavaScript 클래스에 대해 이야기했습니다.


사실 아주 간단합니다. 쓸데없는 소리 하지 마세요. 아래 코드와 댓글을 보시면 한 눈에 이해되실 거라 믿습니다!

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

//클래스를 선언하고, 이는 메소드입니다. 실제로 JavaScript에서는 네임스페이스, 클래스, 멤버... 모든 것이 객체입니다
MyClass =function(){
var _this=this
//Private 변수
var aa="11 ";
//공용 변수
this.bb="22";
//비공개 메서드
function fun1(){
alert(aa); >alert(_this.bb);
}
//개인 메서드
var fun2=function(){
alert(aa)
alert(_this.bb); }
/ /공용 메소드
this.fun3=function(){
alert(aa)
alert(_this.bb)
}
}
// 테스트는 다음과 같습니다:
var mc=new MyClass();
mc.aa="AA";//Error
mc.bb="BB";//Correct
mc. fun1();//오류
mc.fun2();//오류
mc.fun3();//수정됨


간단히 말하면: 내부에 var를 사용하세요. class
키워드로 선언된 변수 또는 메서드는 비공개입니다.
function 키워드로 선언된 메서드는 비공개입니다.
this 키워드로 선언된 변수 또는 메서드는 공개입니다.

위 내용은 모두 인스턴스 클래스에 대한 것이지만 정적 클래스의 경우에는 더욱 간단합니다. JavaScript 정적 클래스는 실제로 json 객체이므로 모든 멤버가 외부에 공개됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.