1. 程式人生 > >node.js原型繼承

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的繼承是通過原型繼承,應該說是原型複製而不是我們其它面向物件的繼承。