1. 程式人生 > >js的寄生組合繼承法

js的寄生組合繼承法

程式碼:

 

<!DOCTYPE html>

<html>

     <head>

          <meta charset="UTF-8">

          <title></title>

     </head>

     <body>

          <h1>寄生組合繼承法</h1>

     </body>

     <script>

          /*

          寄生組合繼承法

     最終繼承解決方案(完美方案):寄生組合繼承法

                   * 繼承屬性:借用建構函式

                   * 繼承方法:原型式繼承法

           */

          function Person(name,age){

              this.name=name;

              this.age=age;

          }

          

          Person.prototype={

              say(){

                   console.log("說")

              },

              eit(){

                   console.log("吃")

              },

              sleep(){

                   console.log("睡")

              }

          }

          function Man(name,age){

              //借用建構函式繼承方法

              Person.call(this,name,age)

          }

          Man.prototype=inherit(Person.prototype);

          //原類式繼承方法

          function inherit(a){

              //建立一個臨時建構函式

              function F(){

                   

              }

              // 將傳入的物件作為這個建構函式的原型

              F.prototype=a;

              // 返回臨時否則函式的例項

              return new F();

          }

          let m =new Man("litingchen",99)

     </script>

</html>