js-----new一個對象的過程


使用new關鍵字調用函數(new Person(…))的具體步驟:

1. 創建空對象;
  var obj = {};

2. 完成原型鏈的構建
  • 將所創建對象的__proto__屬性值設為構造函數的prototype的屬性值,,即指向構造函數的原型對象

  設置新對象的constructor屬性為構造函數的名稱,設置新對象的__proto__屬性指向構造函數的prototype對象;
  obj.__proto__ = Person.prototype;

3.執行構造函數中的代碼,構造函數中的this指向new出對象4. 返回對象,並賦給等號左邊的變量


注意:若構造函數中返回this或返回值是基本類型(number、string、boolean、null、undefined)的值,則返回新實例對象;

若返回值是引用類型的值,則實際返回值為這個引用類型。

 

<script>
  function Person(name, age) {
    this.name = name;
    this.age = age;
  }
  Person.prototype.eate = function () {
    return this.name + "在吃飯"
  }

  var p1 = new Person("小明", 18);
  alert(p1.eate())
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM