> 웹 프론트엔드 > JS 튜토리얼 > 상속을 활용하는 자바스크립트 (3)_javascript 기술

상속을 활용하는 자바스크립트 (3)_javascript 기술

WBOY
풀어 주다: 2016-05-16 16:49:13
원래의
1141명이 탐색했습니다.

먼저 비주류 상속 첫 번째인 인스턴스 상속을 살펴보겠습니다.

그렇게 헛소리는 하지 않겠습니다. 비주류 상속이므로 자주 사용하면 안 됩니다. 일반적으로 사용하지 않으면 여전히 존재하기 때문에 특정 상황에서만 사용됩니다. . 인스턴스 상속 방법은 주로 핵심 객체의 상속에 사용되며, 현재까지 핵심 객체의 상속을 해결하는 유일한 방법이기도 합니다.

핵심 객체의 상속에는 Error 객체와 같은 특정 값이 있습니다. 향후 개발을 단순화하기 위해 우리 회사에서는 Error 클래스를 직접 구현해야 할 수도 있습니다. 이때 인스턴스 상속 방법을 사용하여 Error를 상속하겠습니다.

코드는 다음과 같습니다.

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

function ExtendingError(mes)
{
var 인스턴스=new 오류(mes);
인스턴스.NewError=function(){
경고("오류는 " mes);
}
return 인스턴스;
}

자, 테스트해 보겠습니다.

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

var e=new ExtendingError("번호 1보다 작습니다.");
e.NewError();
alert(e.toString());

결과가 만족스럽습니다.

자, 더 이상 고민하지 마세요. 이것은 기본적으로 핵심 객체의 상속에만 사용되는 비주류 상속 방법입니다.
비주류 상속 2: 복사 상속 방법을 살펴보겠습니다.

이름에서 알 수 있듯이 복사 상속은 복사를 통해 객체를 상속하는 것입니다. 분명히 그것은 객체의 속성과 메소드입니다. Javascript에서 클래스는 실제로 Hashtable이라는 것을 기억하십니까? 기억나지 않는다면 다시 돌아가서 기본 사항을 검토해 보세요. 잠시 후에 Javascript 객체에 대한 기사를 쓸 수도 있습니다.
이것을 이해하고 나면 처리하기 쉬울 것입니다. 코드를 살펴보세요.
먼저 Extend 메소드 작성:

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

Function.prototype.Extend=function() {
for(var pro in obj)
{
//실제로는 상위 클래스의 속성과 메서드를 완전히 복사합니다.
this.prototype[pro]=obj[pro];
}
}

좋아요, 사용 방법을 알아보기 위해 몇 가지 코드를 작성해 보겠습니다.

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

function Animal()
{ }
함수 People()
{ }
People.Extend(new Animal())
{ }

안목 있는 사람은 이 방법의 단점이 너무 명백하다는 것을 한눈에 알 수 있습니다.
객체의 속성 메서드를 하나씩 복사할 때 실제로 사용되는 것은 반영입니다. 반사가 효율성에 미치는 피해.
프로토타입 상속과 마찬가지로 상위 클래스 객체를 초기화해야 합니다. 상속 관계가 결정되었지만 매개변수가 아직 확실하지 않으면 작동하지 않습니다.

요컨대 이 방법은 일반적으로 사용되지 않습니다.

자, 일반적으로 사용되는 것에 대해 이야기해 보겠습니다. 혼합 상속!
이는 두 가지 주류 상속 방법을 기반으로 합니다. 두 가지 상속 방법을 비교해 보면 두 가지 상속 방법의 장점과 단점이 서로 보완적이어서 다루기 쉬우니 함께 섞어서 사용해보세요!

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

function People(이름)
{
this.name=name;
this.SayName=function(){
Alert("내 이름은 " name);
}
}
function Girl(이름,나이) )
{
//상속 구성
this.father=People;
this.father(name);
delete this.father;
this.Introduce=function(){
Alert("내 이름은 " name ".I am" age);
}
}
//프로토타입 상속
Girl.prototype=new People();
알겠습니다. , 두 가지 방법을 혼합하여 이제 문제가 해결되었는지 살펴보겠습니다.
var g=new Girl("Xuan",22);
alert(g 인스턴스of People);
g.SayName();
g.Introduce();

테스트 통과!

이것은 비교적 완벽한 솔루션이지만 코드의 복잡성이 증가하므로 구체적인 솔루션은 실제로 모든 사람의 선택에 달려 있습니다.

자바스크립트에서 상속을 활용하는 방법은 다음과 같습니다. 계속해서 제 다른 글에 관심을 가져주세요.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿