2021-01-07
阿新 • • 發佈:2021-01-07
技術標籤:紅寶書javascript
【紅寶書p243繼承之盜用父類建構函式】
1,檢視繼承後,子類父類的結構
<script> function SuperType() { this.colors = ["red", "blue", "green"]; } function SubType() { // 繼承 SuperType SuperType.call(this); } console.dir(SuperType); console.dir(SubType); </script>
2,檢視子類例項、父類例項的結構
<script> function SuperType() { this.colors = ["red", "blue", "green"]; } function SubType() { // 繼承 SuperType SuperType.call(this); } let sup = new SuperType(); let sub = new SubType(); console.dir(sup); console.dir(sub); </script>
以上看出,子類例項化後擁有父類的屬性
<script> function SuperType() { this.colors = ["red", "blue", "green"]; } function SubType() { // 繼承 SuperType SuperType.call(this); } let sup = new SuperType(); let sub = new SubType(); // 往子類例項的colors屬性陣列中新增元素 sub.colors.push('black'); console.dir(sup); console.dir(sub); </script>
以上看出,子類繼承了父類屬性,但對子類屬性的操作,不會影響父類的屬性,即使父類屬性存在引用值的情況