javascript继承总结(1)

来源:互联网 发布:免费洗车软件排行 编辑:程序博客网 时间:2024/06/05 04:50

  javascript继承的总结:

 

      JavaScript继承的方式分为:prototype chains,construtor stealing和以上两种方式的合并,prototypal继承,parasitic(寄生)继承,parasitic合并继承等,可能还有其他的,至今没有看到。

    

     1、prototype chains

       

        prototype chains方法是实现继承的主要方式。想要明白这种继承方式,首先来看看对象实例、prototype和constructor三者的关系,当定义一个函数时,会包含一个默认属性prototype,prototype是一个引用类型,在这个属性中包含了constructor,constructor也是一个引用类型,constructor指向了构造函数本身,每个对象实例也包含了一个内部引用类型的对象,指向了prototype对象。

   

       prototype chains继承方式的实现就是利用了prototype这个引用类型,这个引用类型默认是指向了函数定义本身的prototype对象。例如:

 

      function SubType(){

           this.property = true;

      }

  在 SubType中就有一个prototype对象,它默认被赋值了一个对象,该对象的constructor指向了SubType这个构造函数本身。要实现继承,其实就是将prototype指向一个新类型的对象。例如

 

   function SuperType(){

       this.sayHi=function(){

              alert("Hi!");

        }

   }

      

 上面是我定义的一个新类型,然后我将SubType的prototype对象指向这个新类型

 

  SubType.prototype=new SuperType();

 

这样就实现了SubType继承了SuperType,SubType成为了Supertype的一个子类。

 

      

 

原创粉丝点击