js继承方式

//Object.create(proObj)创建一个新的对象,但是还要把proObj作为这个对象的原型

    //用Object.create()方式来继承,继承对象obj2与obj有关联,obj2.__proto__ === obj

    // let obj = {

    //  getX:function(){

    //  }

    // };

    // let obj2 = Object.create(obj);

    // obj2.getX();

    // obj.getY = function(){

    //  console.log(2);

    // }

    // obj2.getY();

    // //for循环来继承,不过新创建的继承对象obj3与obj是没有关联的

    // let obj3 = {}

    // for(let key in obj){

    //  if(obj.hasOwnProperty(key)){

    //    obj3[key] = obj[key];

    //  }

    // }

    //模拟Object.create方法

    function object(o){

      function Fn(){

      }

      Fn.prototype = o;

      return new Fn;

    }

    let obj = {

      getX:function(){

      }

    }

    let newObj = object(obj);

    console.log(newObj);

你可能感兴趣的:(js继承方式)