자바 스크립트 얼굴 질문 요약 시리즈 (오)

5.JavaScript 상속

무엇 상속은

상속을 통해 개체 B 객체, 당신은 모든 속성과 객체 B의 방법이 직접 할 수 있습니다

길, 프로토 타입 상속 체인

코어 : 서브 타입 프로토 타입 객체는 상위 유형의 인스턴스

    // 创建一个父类(注意其本质仍然是一个构造函数)
    function Parent() {
        this.name='kevin';
    }

    // 创建父类上的一个共享方法
    Parent.prototype.getName = function(){
        console.log(this.name);
    }

    // 创建子类
    function Child() {

    }

    // 核心代码:将父类的实例作为子类的原型
    Child.prototype = new Parent();
    
    var child1 = new Child();

    console.log( child1.getName() ); // kevin

두 번째 방법, 상속 최적화의 조합

코어 : 개체를 만들 수있는 기존 개체와 함께 var B = Object.create(A);프로토 타입과 객체 A를하려면 B 객체를 만들었습니다. B는 모든 속성과 메소드 피사체를 상속합니다.

        // 创建父类
        function Person(name,age) {
            this.name = name;
            this.age = age;
        }

        // 创建父类共享的方法
        Person.prototype.setAge = function(){
            console.log(111);
        }

        // 创建子类
        function Student(name, age, price) {
            Person.call(this, name, age);
            this.price = price;
            this.setScore = function() {

            }
        }

        Student.prototype = Object.create(Person.prototype); // 核心代码
        Student.prototype.constructor = Student; // 核心代码

        var s1 = new Student('tom', 20, 15000);

        console.log(s1 instanceof Student); // true
        console.log(s1 instanceof Person); // true

        console.log(s1.constructor); // Student
        console.log(s1); // Student {name: "tom", age: 20, price: 15000, setScore: ƒ}

요약 :

상속 8 종류 - 좋은 자원을 많이 찾을 시간의 주제에 대한 지식을 요약, 우리는 기본적으로 약 6을 말하고있다. 인터뷰에 참석하기 위해 서둘러 경우 시작하려면 다음 두 가지 기본적인 방법을 시작할 수 있다는 희망을 나열 할 이유가 없습니다, 예비 이해를 가지고 있고, 그것을 알고하지 않은 시간을 요청하지 않습니다.

첫째, 가장 기본적인 방법 중 하나, 상식의 이해에 가장 가까운, 빠르게 상태를 입력하는 데 도움이 될 수 있습니다. 두 번째 방법은 상대적으로 완벽한 방법은 상속을 사용하는 "최종"버전이 될 수 후에 달성하기 위해 여러 가지 방법의 상속을 비교하는 것이다. 관심있는 독자는 마지막에 링크 텍스트를 보면 상속의 더 설명을 얻을 수 있습니다.


참고 링크 :
https://github.com/mqyqingfeng/Blog
https://segmentfault.com/a/1190000016708006
https://segmentfault.com/a/1190000015727237
https://juejin.im/post/5bcb2e295188255c55472db0#heading- 0
https://www.cnblogs.com/humin/p/4556820.html
https://github.com/mqyqingfeng/Blog/issues/16
http://www.ayqy.net/blog/%E9%87% 8D %의 E6의 % 96 % B0의 %의 E7의 % 90 % 86 % E8 % A7 % A3js % E7 % 9A %의 846% E7의 %의 A7의 %의 8D의 %의 E7의 %의 BB %의 A7 %의 E6의 % 89 % BF의 %의 E6의 % 96 % B9 %의 BC 주 %의 8F % E5 /
https://zhuanlan.zhihu.com/p/37735247

추천

출처www.cnblogs.com/zxxsteven/p/11737351.html