首页 > 代码库 > 对象的继承

对象的继承

1、子类继承父类

2、属性的继承,使用call的形式,改变this指向

  对象的继承,使用for in的形式(拷贝继承)

   function extend(obj1,obj2) {

         for (var attr in obj2) {

              obj1[attr] = obj2[attr]   

         }

   }

 

  使用:extend(子类,父类)

 

//父类        function CreatePerson(name,sex){            this.name = name;            this.sex = sex;        }        CreatePerson.prototype.showName = function(){            alert(this.name);        }//子类        function CreateStar(name,sex,job) {            CreatePerson.call(this,name,sex);   //属性的继承使用call形式            this.job = job;        }               //使用for in 的形式        extend(CreateStar.prototype,CreatePerson.prototype);        CreateStar.prototype.showJob = function(){            alert(this.job);        }                var p1 = new CreatePerson(‘小明‘,‘男‘);        var p2 = new CreateStar(‘黄晓明‘,‘男‘,‘演员‘);        p2.showName();        p2.showJob();        function extend(obj1,obj2) {            for (attr in obj2) {                obj1[attr] = obj2[attr];            }        }