在實現繼承之前先寫一個node的對象
通過上面能看到,在這個對象中定義了兩個屬性和一個函數,但是這裏面的屬性name可以看到不僅在內部函數中使用還在外部使用,但是不管在哪裏使用都會得到結果undefined,當調用裏面的cont()函數時系統會報cont is not a function,說明如此使用是無效的,違反規則的。
那麼想在對象中定義屬性和函數能被使用的話需要
又或者可以定義對象原型的屬性和函數
這就引出了下面的要寫的重點(原型的繼承):
如上代碼裏可以看到main繼承於base,但是main中能夠從base中繼承的只有原型中定義的屬性和函數,比如在下面寫的
m.cont()
如果執行就會報cont is not a function的錯誤,同樣在控制檯輸出
console.log(m.base);
會得到undefined的結果,但是
console.log(m.range);
和
m.showname();
是沒有問題的。通過試驗和資料得知node的對象繼承是和類繼承不相同的,node的繼承是通過原型繼承,應該說是原型複製而不是我們其它面向對象的繼承。