參考回答:
每個構造函數都有一個原型對象
每個原型對象都包含一個指向構造函數的指針
每個實例都包含一個指向原型對象的指針
查找方式是一層層向上查找直至頂層Object.prototype
原型鏈繼承
借用構造函數(call,apply)
組合繼承(原型鏈+構造函數)
原型式繼承
寄生式組合式繼承
延伸理解:
優缺點?
每一種繼承的方式都有自己的優缺點
組合繼承的特點是會調用構造函數兩次,
都是將多種繼承方式組合到一起相輔相成.
new 運算符具體干了什么?
1.創建一個空的對象
2.將空的對象的proto成員指向構造函數的prototype成員對象
3.調用構造函數將this指向前面創建的對象