ES6class類

屬於轉載,放在html文件裏面方面粘貼來下看

https://www.jianshu.com/p/86267fab4878

百度上搜到的地址,不知道是不是原地址

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
                        // 由代碼可以看出類實質上就是一個函數。類自身指向的就是構造函數。
                        // 所以可以認爲ES6中的類其實就是構造函數的另外一種寫法!
  class Person{
    //定義了一個名字爲Person的類
    constructor(name,age){
      //constructor是一個構造方法,用來接收參數
      this.name = name;
      //this代表的是實例對象
      this.age=age;
    }
    say(){
      //這是一個類的方法,注意千萬不要加上function
      return "我的名字叫" + this.name+"今年"+this.age+"歲了";
    }
  }
  var obj=new Person("laotie",88);
  console.log(obj.say());
  //我的名字叫laotie今年88歲了
  // 1.在類中聲明方法的時候,千萬不要給該方法加上function關鍵字
  // 2.方法之間不要用逗號分隔,否則會報錯


                    // 實際上類的所有方法都定義在類的prototype屬性上
  Person.prototype.say=function(){
    //定義與類中相同名字的方法。成功實現了覆蓋!
    return "我是來證明的,你叫" + this.name+"今年"+this.age+"歲了";
  }
  var obj=new Person("laotie",88);
  console.log(obj.say());
  //我是來證明的,你叫laotie今年88歲了

                  // 當然也可以通過prototype屬性對類添加方法
  Person.prototype.addFn=function(){
    return "我是通過prototype新增加的方法,名字叫addFn";
  }
  var obj=new Person("laotie",88);
  console.log(obj.addFn());
  //我是通過prototype新增加的方法,名字叫addFn

                  // 還可以通過Object.assign方法來爲對象動態增加方法
  Object.assign(Person.prototype,{
    getName:function(){
      return this.name;
    },
    getAge:function(){
      return this.age;
    }
  })
  var obj=new Person("laotie",88);
  console.log(obj.getName());
  //laotie
  console.log(obj.getAge());
  //88
                  //constructor方法是類的構造函數的默認方法,通過new命令生成對象實例時,自動調用該方法。
  class Box{
    constructor(){
      console.log("五月天還不來開演唱會,好煩啊");
      //當實例化對象時該行代碼會執行。
    }
  }
  var obj=new Box();

                        // constructor方法如果沒有顯式定義,會隱式生成一個constructor方法
                        // 所以即使你沒有添加構造函數,構造函數也是存在的
                        // constructor方法默認返回實例對象this,但是也可以指定constructor方法返回一個全新的對象,讓返回的實例對象不是該類的實例



</script>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章