자 바스 크 립 트 대상 에 대한 체험[총괄]

자 바스 크 립 트 의 대상 을 대상 으로 하 는 디자인 은 좀 억지스럽다.왜냐하면 자 바스 크 립 트 언어 자체 가 고급 언어 가 엄밀 하지 않 기 때문이다.이 글 을 보기 전에 c++,자바,c\#등 고급 언어 를 알 고 대상 을 대상 으로 프로 그래 밍 하 는 기초 지식 이 있 기 를 바 랍 니 다.1.클래스 의 정의:function ClassName(){}클래스 의 정의 형식 이 함수 와 같다 는 것 을 알 수 있 습 니 다.사실 함수 와 클래스 는 사용 할 때 만 분별 할 수 있 습 니 다.예 를 들 어 우 리 는 한 페이지 에서 각각 그들 을 사용 합 니 다.function A(){alert(hello');}/A 는 함수 로 A()를 사용 합 니 다./A 를 클래스 로 사용 하고 클래스 A 에서 obj 대상 var obj=new A()를 파생 합 니 다.2.클래스 의 구성원:function ClassName(){/공유 변 수 를 정의 this.property 1=0;/공유 방법 this.method 1=function(){//this.a 의 할당 여 부 를 판단 합 니 다 if(this.a!=undefined) alert(this.a); } //다른 방법의 정의 형식 this.method 3=funca;/개인 구성원 var pram 1=1 정의 하기;var method2=function(){ alert(''); } } //funca 는 방법 method 3 의 처리 함수 function funca(){alert(');}위의 코드 는 천천히 설명 합 니 다.this 가 시작 하 는 것 은 모두 클래스 의 구성원 이 고 모두 공유(Public)입 니 다.예 를 들 어 property 1 은 클래스 의 속성 이 고 method 1 은 클래스 의 방법 입 니 다.클래스 의 구성원 은 var 로 정의 할 필요 가 없습니다.this 접 두 사 를 사용 하지 않 은 것 은 모두 개인 변수 입 니 다.예 를 들 어 pram 1 은 사유 변수 이 고 method 2 는 사유 방법 이다.클래스 의 속성 은 클래스 에서 정의 되 지 않 을 수 있 습 니 다.초기 화 되 지 않 은 속성 은 정의 되 지 않 고 다른 곳 에서 도 호출 할 수 있 습 니 다.예 를 들 어 method 1 에서 a 속성 을 출력 하려 면 전체 클래스 에서 a 속성 을 정의 하지 않 습 니 다.우 리 는 대상 을 만 들 때 값 을 부여 할 수 있 습 니 다.var obj=new ClassName() obj.a="hello javascript"; obj.method1(); 클래스 의 방법 은 this.method=function(){}을 통 해 정의 할 수 있 습 니 다.예 를 들 어 method 1 방법;또한 this.method=funName 을 통 해 정의 할 수 있 습 니 다.방법 을 지정 하여 특정한 함수 로 처리 할 수 있 습 니 다.예 를 들 어 method 3;3.클래스 의 계승:function classA(){this.property 1='hello';this.method1=function (){ alert(this.property1); } } function classB(){}//classA classB.prototype=new classA();/classB 에 PI 속성 을 추가 합 니 다 classB.prototype.PI=3.1415926;/classB 에 showPI 방법 을 추가 합 니 다 classB.prototype.showPI=function(){alert(this.PI);}prototype 대상 을 사용 하여 클래스 classA 의 인 스 턴 스 를 prototype 대상 에 할당 하여 classB 는 classA 의 모든 구성원 을 계승 합 니 다.예 를 들 어 classB.prototype=new classA();또한 prototype 을 통 해 클래스 외 에 멤버 를 새로 추가 할 수 있 습 니 다(이것 은 다른 고급 언어 에 없 는 기능 입 니 다).예 를 들 어 classB.prototype.PI 와 classB.prototype.showPI 4.클래스 방법의 리 셋:클래스 방법의 리 셋 은 클래스 의 구조 함수 에서 비교적 많이 사용 된다.예 를 들 어 클래스 에는 같은 이름 의 방법 이 두 개 있 고 서로 다른 매개 변수 나 서로 다른 매개 변수 유형 이 있다.JavaScript 는 형식 적 으로 클래스 방법 을 다시 불 러 오 는 것 을 지원 하지 않 습 니 다.우 리 는 arguments 속성 을 통 해 클래스 방법 에 대한 재 부팅 을 완성 할 수 있 습 니 다.function classA(){/매개 변수 갯 수 를 가 져 옵 니 다/this.arguments.length 는 잘못된 var num=classA.arguments.length 입 니 다.this.method1=function(){ if(num==0){ alert(0); } if(num==1){ alert(1); } } } 클래스 나 함수 이름 의 arguments 속성 은 모든 인 자 를 포함 하 는 배열 을 되 돌려 줍 니 다.예 를 들 어 classA.arguments.length 는 매개 변수의 개 수 를 가 져 올 수 있 습 니 다.classA.arguments[0]는 첫 번 째 매개 변수의 값 을 필요 에 따라 매개 변수 개수 나 매개 변수 값 을 가 져 와 같은 함수 나 클래스 가 서로 다른 기능 을 가 집 니 다.예 를 들 어 var obj=new classA();obj.method1();//0 var obj 1=new classA(5)를 출력 합 니 다.obj1.method1();//15.대상 의 정 의 를 출력 했 습 니 다:/대상 은 클래스 의 인 스 턴 스 입 니 다.클래스 를 정의 합 니 다.대상 의 템 플 릿 function A(){this.a=1;this.b=2; this.add=function(){ return this.a+this.b; } } //대상 var obj=new A()를 정의 합 니 다./할당 클래스 속성 obj.a=5;obj.b=6; //클래스 호출 방법 var sum=obj.add();다른 정의 방법:var obj={a:1,b:2,add:function(){return this.a+this.b;}이런 방법 으로 정 의 된 대상 은 그 유형의 구조 도 함께 정 의 했 습 니 다.한 번 만 사용 할 수 있 는 클래스 정의 속성 과 방법 에 적합 할 때 this 키 워드 를 사용 하지 않 아 도 됩 니 다.":"후 직접 값 을 부여 하면 되 지만 방법 에서 속성 을 사용 해 야 합 니 다.this 키 워드 를 사용 해 야 합 니 다.본 고 는 본인 의 개인 적 인 경험 과 이해 일 뿐 제 가 쓴 것 과 일부 책 에서 약간 다 를 것 같 습 니 다.보시 면 금방 이해 하 실 거 라 고 믿 습 니 다.이 글 은 벽돌 을 던 져 옥 을 끌 어 올 리 는 역할 만 하고 구체 적 인 프로젝트 수 요 는 구체 적 으로 다 루어 야 한다.모든 예 와 관련 하여 직접 디 버 깅 하 는 것 은 틀 리 지 않 습 니 다.잘못 이 있 으 면 지적 해 주 십시오.

좋은 웹페이지 즐겨찾기