객체 대상(8) 상속06 상속을 위한 특별한 방법 (Object.creare)

1652 단어
title: 대상방향 (8) 계승06 전문적인 방법으로 계승(Object.creare)date: #문장 생성 시간, 일반적으로categories: #문장 분류 디렉터리, 생략가능-대상향tags: #문장 라벨, 생략가능-대상향- 원형을 바탕으로 대상향의 계승 #개수 제한, 단일 직접tags 뒤에 따라갈 수 있음

Object.create


역할: 객체를 작성하고 객체의 원형 객체 호환성을 설정하는 문제: ES5

demo1: 빈 대상을 만들고 이 대상의 원형 대상을obj로 설정합니다


    var obj1 = {name:" "};
    var obj2 = Object.create(obj1);// , obj
    console.log(obj2.name); // 


demo2: 호환성 문제 해결 방식 1


    var obj = {name:" "};
    if(typeof Object.create == "function")
    {
        var o = Object.create(obj);
    }else
    {
        //var o = {};
        //o.__proto__ = obj;  // (__proto__ )

        function F(){};
        F.prototype = obj;
        var o = new F();
    }


demo2: 호환성 문제 해결 방법 2


    var obj = {name:" "};
    if(typeof Object.create == "function") {
        var o = Object.create(obj);
    }else
    {
        Object.create = function(){
            function F(){};
            F.prototype = obj;
            var o = new F();
        }
    }

    Object.create(); // 


demo3: 호환성 문제 해결 방식 3


    var obj = {name:" "};
    function createObj(obj) {
        if (Object.create)
        {
            return Object.create(obj); // 
        }else
        {
            function F(){};
            F.prototype = obj;
            return new F();
        }
    }

    // 
    var o = createObj(obj);
    var o2 = createObj(o);

좋은 웹페이지 즐겨찾기