js-----new一個對象的過程
阿新 • • 發佈:2019-02-19
註意 初始化 num 一個 ons var UNC spa boolean
使用new關鍵字調用函數(new Person(…))的具體步驟:
1. 創建空對象; var obj = {}; 2. 完成原型鏈的構建 設置新對象的constructor屬性為構造函數的名稱,設置新對象的__proto__屬性指向構造函數的prototype對象; obj.__proto__ = Person.prototype; 3.改變this的指向 使用新對象調用函數,函數中的this被指向新實例對象: Person.call(obj); //{}.構造函數(); 4.執行函數裏的代碼5. 將初始化完畢的新對象地址,保存到等號左邊的變量中 註意:若構造函數中返回this或返回值是基本類型(number、string、boolean、null、undefined)的值,則返回新實例對象; 若返回值是引用類型的值,則實際返回值為這個引用類型。
<script> function Person(name, age) { this.name = name; this.age = age; } Person.prototype.eate = function () { returnthis.name + "在吃飯" } var p1 = new Person("小明", 18); alert(p1.eate()) </script>
js-----new一個對象的過程