JavaScript 資料類型分為 基本類型,引用類型
基本類型:
string,number,Boolean,object,null,undefined
引用類型:
String,Number,Boolean,Object,Function,Array,Date,RegExp,Error
每個對象都有内置屬性prototype(原型),chrome裡是 __proto__
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL3VERPBTUq1EeRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL3UzM3QjN0MTMwMDNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
對象建立後,會有一個隐式的__proto__[[prototype屬性被建立]]
這個屬性會指向自己的原型對象
原型對象也有__proto__屬性,指向Object
圖檔來源 bilibili “技術蛋老師” 視訊位址:https://www.bilibili.com/video/BV117411v76o
強烈推薦老師的視訊
面試題:JavaScript new一個對象的過程
function Mother(lastName){
this.lastName = lastName
}
var son = new Mother("dd")
- 建立一個新對象 son
- 新對象會被執行 [[prototype]]連接配接,prototype屬性指向原型對象. son.__proto__ = Mother.prototype
- 新對象和函數調用的this會綁定起來 Mother.call(son,“dd")
- 執行構造函數中的代碼 son.lastName;
- 函數沒有傳回值,就會自動傳回這個新對象,return this