자 바스 크 립 트 의 계승 을 실현 하 는 세 가지 방식

1.원형 체인 계승 은 원형 체인 계승 에 있어 자바 스 크 립 트 는 자바,c\#등 언어 와 유사 하고 단일 부모 클래스 만 계승 할 수 있 습 니 다.prototype 계승 의 기본 방식 은 다음 과 같다.구조 가 원형 체인 을 통 해 부모 급 대상 을 연결 한 것 은 대상 의 계승 을 완성 한 것 을 의미 하 는 것 입 니까?답 은 부정 적 이다.예 를 들 어
 
function Parent(){}
function Child(){}
Child.prototype = new Parent();
child 는 Child 의 인 스 턴 스 로 사용 할 수 있 지만 이 때 는 인 스 턴 스 child 의 원래 대상 구조 정 보 를 잃 어 버 렸 습 니 다.이 결함 을 보완 하 는 방법 은 다음 과 같다.2.apply,call 방법 을 사용 하 는 것 은 JavaScript 에 내 장 된 Function 대상 의 apply,call 방법 으로 대상 구조 에서'this'의 문맥 환경 을 바 꾸 고 특정한 대상 인 스 턴 스 를 대상 구조 에서 정의 하 는 속성,방법 을 가지 게 합 니 다.apply,call 계승 을 사용 하여 실제 개발 에서 HTML 페이지 의 DOM 대상 을 조작 할 때 특히 자주 사용 합 니 다.예 를 들 어
 
function Parent(){}
function Child(){}
Child.prototype = new Parent();
var child = new Child();
alert(child.constructor);//function Parent(){}
alert(child instanceof Child);//true
apply 또는 call 로 정 의 된 ext 방법 을 통 해 ext 방법 내부 의 this 문맥 을 DOM 대상 으로 표시 합 니 다."
apply,call 계승
".주의해 야 할 것 은 apply,call 을 사용 할 때 대상 구조 가 정의 하 는 코드 세그먼트 를 직접 실행 합 니 다.예 를 들 어
 
function Parent(){}
function Child(){}
Child.prototype = new Parent();
Child.prototype.constructor = Child;
var child = new Child();
alert(child.constructor);//function Parent(){}
alert(child instanceof Child);//true
대상 인 스 턴 스 간 의 계승 JavaScript 대상 의 다 형 성 은 인 스 턴 스 가 속성,방법 을 동적 으로 추가 할 수 있 습 니 다.이 특성 은 자 바스 크 립 트 의 또 다른 계승 기법 인 대상 실례 간 의 계승 을 만 들 었 다.예 를 들 어
 
  <div id="extend">apply,call </div>
  <script language="javascript">
  function ext()
  {
     this.onclick=function(){alert(this.innerHTML)}
  }
  ext.apply(document.getElementById("extend"));
  ext.call(document.getElementById("extend"));
  </script>
상기 코드 에서 보 듯 이 대상 의 인 스 턴 스 간 계승 에서 부모 대상 Persong 은'사람'이 가지 고 있 는 공동 속성 name,age,하위 대상 nathena 는 자신의 개인 속성 인'sex'를 정의 했다.함수 inline Extendes 의 기능 은 하위 대상 nathena 에 부모 대상 Person 에서 정의 하 는'사람'이 가지 고 있 는 공 통 된 속성 을 복사 하 는 것 입 니 다.그 중에서 특히 주의해 야 할 문 구 는'if(so[i])'이다.이 문 구 는 하위 대상 의 원래 구성원 이 부모 대상 의 동명 이인 구성원 에 게 덮어 쓰 이지 않 고 대상 중의 부자 대상 간 에 계승 하 는 원칙 인 하위 대상 이 부모 대상 을 덮어 쓰 고 과부하 할 수 있 는 속성 이나 방법 을 확보 하고 부모 대상 은 하위 대상 에 게 만 자신의 속성 이나 방법 을 숨 길 수 있다.

좋은 웹페이지 즐겨찾기