>  기사  >  웹 프론트엔드  >  JS 상속과 다중 상속을 사용하는 방법

JS 상속과 다중 상속을 사용하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-05-28 09:46:381962검색

이번에는 JS상속과 다중상속을 어떻게 사용하는지, 그리고 JS상속과 다중상속을 사용할 때 주의사항은 무엇인지 알아보겠습니다.

최신 EC6에는 이미 클래스 관련 기능이 있지만 대중성 측면과 오래된 코드를 읽어야 한다는 점에서 이 지식을 이해해야 합니다.

이 글의 구조:

1 원리 및 분석

② 단순 캡슐화 후 적용

1 상속

1 원리 및 분석

첫 번째 사진 :

이 코드의 아이디어를 사용하여 상속을 구현합니다. 즉:

var inherit=function(objBase){
    var F=function(){}; //第一步:定义一个函数F
    F.prototype=objBase; //第二步:将传进来的基类对象(objBase)赋给函数F的原型(F.prototype)
    return new F(); //第三步:返回一个F对象(已经具备了objBase特征)
}

② 단순 캡슐화 후 적용

Function.prototype.inherit=function(objBase){
    this.prototype=new objBase();
}
var Person=function(){
    this.name="倩倩";
    this.sex="女";
}
var Student=function(){
    this.id="0712";
}
Student.inherit(Person);
var student=new Student();
alert(student.name +","+ student.sex +","+ student.id);

1 다중 상속

1 원리 및 분석

다중 상속은 여러 객체의 멤버를 현재 객체에 부여

var o1={name:"倩倩"} //对象的字面值
var o2={sex:"女"}
var She=function(){}
She.prototype={};  //先声明
for(var k in o1){
    She.prototype[k]=o1[k];
}
for(var k in o2){
    She.prototype[k]=o2[k];
}
var she=new She();
alert(she.name + "," + she.sex);

② 간단한 캡슐화 후 적용

Function.prototype.inherits=function(){
    var arr=arguments; //将接收到的arguments对象传给数组arr
    this.prototype={};
    for(var i=0;i<arr.length;i++){
      for(var k in arr[i]){
        var obj=arr[i];
        this.prototype[k]=obj[k];
      }
    }
}
var o1={name:"倩倩"} //对象的字面值
var o2={sex:"女"}
var She=function(){}
She.inherits(o1,o2);
var she=new She();
alert(she.name + "," + she.sex);

이 기사의 사례를 읽으신 후 방법을 숙달하셨다고 생각합니다. 더 흥미로운 정보를 보려면 다음 페이지의 다른 관련 기사를 주목하세요. PHP 중국어 웹사이트!

추천 자료:

Express의 기본 로그 구성 요소 morgan을 작동하는 방법

Google에서 발표한 JS의 코드 사양

위 내용은 JS 상속과 다중 상속을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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