天天看點

了解構造函數

  1. 構造函數也是一個普通函數,建立方式和普通函數一樣,但構造函數通常習慣首字母大寫。
  2. 構造函數和普通函數的差別在于:調用方式不一樣,作用也不一樣。(構造函數用來建立執行個體對象)
  3. 調用方式不一樣。
    1. 普通函數調用方式:直接調用parson();
    2. 構造函數的調用方式:使用new關鍵字調用 new Parson();
  4. 構造函數的函數名和類名相同:Parson()這個構造函數,Parson即是函數名,也是這個對象的類名。
  5. 内部用this來構造屬性和方法
    1. function Person( name, job, age){
          this.name = name;
          this.job = job;
          this.age = age;
          this.sayHi = function(){
              alert("Hi")
          }
      }
                 
  6. 構造函數的執行流程
    1. 立即在堆記憶體中建立一個新的對象
    2. 将建立的對象設定為函數中的this
    3. 逐個執行函數中的代碼
    4. 将建立的對象作為傳回值
  7. 普通函數例子: 因為沒有傳回值,是以為undefined
    1. function person(){}
      var per = person()
      console.log(per) //"undefined"
                 
  8. 構造函數例子:構造函數會馬上建立一個對象,并将新對象作為傳回值傳回。
    1. function Person(){}
      var per = new Person();
      console.log(per); // [object, object]