var BaseObject=function(){};
var ChildObject=function(){}; //宣告兩個原型物件
BaseObject.prototype.hit=function(){
console.log('hit()呼叫成功!');
}
//把hit函數放進BaseObject.prototype內
//所以BaseObject的實例都有hit()
const util = require('util');
util.inherits(ChildObject,BaseObject);
這是Node.js搞出來的繼承函數
讓ChildObject可以繼承BaseObject的prototype
var obj = new ChildObject();
obj.hit(); //hit()呼叫成功
問題是我無聊看看他們的prototype內有什麼
console.log(BaseObject.prototype);
顯示 BaseObject {hit:[Function]}
目前還正常 因為這就是我放的 但是!
console.log(ChildObject.prototype);
顯示 ChildObject {}
沒有hit函數!!!
我new ChildObject()出來的實例都能呼叫hit()
但是ChildObject.prototype裡面竟然是空的
所以Node.js騙我有繼承 其實根本沒繼承
Node.js這樣欺騙大家這樣對嗎????