尝试了解 Node 的 util 包提供的继承支持。
var util = require('util');
//=========================================
function Foo(temp){
this.y = temp;
}
Foo.prototype.yo = function(){
console.log("Yo "+this.y);
}
//=========================================
function Bar(){}
util.inherits(Bar,Foo);
var b = new Bar(20);
//b.y = 10;
b.yo();
这里 b.yo() 打印“Yo undefined”。它调用 Foo 的 yo() 所以我认为继承是有效的。但它不打印 y 值。 如果 b.y = 10 行未注释,则它将打印 10 值。 试图理解为什么会发生这种情况。
最佳答案
Bar
的构造函数为空。
当您继承某些东西时,它会复制原型(prototype)属性,但您必须自己正确实现构造函数。
所以从技术上来说你可以这样做:
function Bar(temp) {
Foo.call(this, temp);
}
关于javascript - util继承于node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29997759/