在实现继承之前先写一个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的继承是通过原型继承,应该说是原型复制而不是我们其它面向对象的继承。