node.js原型繼承

在實現繼承之前先寫一個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的繼承是通過原型繼承,應該說是原型複製而不是我們其它面向對象的繼承。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章