1. 程式人生 > 其它 >JS中的建構函式

JS中的建構函式

技術標籤:JSjavascript前端

建構函式概念

  • 建構函式其實是一種特殊的函式,主要用來初始化物件,也就是為物件成員變數賦初始值,它總與new關鍵字一起使用。
  • 我們可以把物件裡面一些公有的屬性和方法抽象出來封裝到這個函式裡面。
  • 這樣我們就可以通過一個建構函式建立多個物件,這些物件擁有相同的構造,都可以使用這個建構函式的方法和屬性。

建構函式使用

建構函式的建立

  function Dog(){
      //建構函式中的屬性
      this.name = "貝貝";
      //建構函式中的方法
      this.bark = function(){
          console.
log("汪汪汪"); } }

注:

  1. 建構函式一般首字母會大寫,為了和普通函式區分
  2. 建構函式的屬性和方法前必須加this關鍵字,指代要生成的物件

建構函式的呼叫

  • new 就是執行建構函式,返回一個物件,不寫new就是普通函式的呼叫,沒有創造物件的能力
  function Dog(){}
  var d1 = new Dog();
  var d2 = Dog();
  • 呼叫函式時,如果不傳遞引數,()可以不寫,如果傳遞引數就必須寫,建議都寫上
  function Dog(){}
  var d1 = new Dog();
  var d2 = new Dog
;
  • 建構函式中的this,由於和 new 連用的關係,是指向當前例項物件的
  function Dog(){
      console.log(this);
  }
  var d1 = new Dog();// this => d1
  var d2 = new Dog();// this => d2

建構函式的return

  function Dog(){
      this.name = "貝貝";
      this.bark = function(){
          console.log("汪汪汪");
      }
// return 0; // return []; } var d1 = new Dog(); console.log(d1);
  • 不寫return,返回一個物件
  • return一個基本資料型別,結果不變,依舊返回一個物件
  • return一個複雜資料型別,返回一個複雜資料型別

建構函式總結

  • 一個建構函式可以通過new建立多個例項物件
  • 建立建構函式時,裡面的屬性和方法前必須加this
  • 建構函式不需要return 就可以返回結果