node.js util.inherits vs new
我们可以看到:node.js util.inherits vs new,node.js,Node.js,我们可以看到: var util = require("util"); var events = require("events"); function MyStream() { events.EventEmitter.call(this); } util.inherits(MyStream, events.EventEmitter); var stream = new MyStream(); 是否与以下内容相同: function MyStream2() { } //MyStr
var util = require("util");
var events = require("events");
function MyStream() {
events.EventEmitter.call(this);
}
util.inherits(MyStream, events.EventEmitter);
var stream = new MyStream();
是否与以下内容相同:
function MyStream2() {
}
//MyStream2 = new events.EventEmitter; WRONG. Thank you @Esailija
MyStream2.prototype = new events.EventEmitter;
var stream2 = new MyStream2();
谢谢:)如果我们编辑您的代码以使其正常工作,即:
MyStream2.prototype = new events.EventEmitter;
仍然会有一些差异:
- 在您的版本中,
,带有MyStream2.prototype.constructor==events.EventEmitter
,继承
MyStream2.prototype.constructor==MyStream2
- 您的版本会调用可能有副作用的
构造函数,而事件.EventEmitter
继承的
使用的
不调用构造函数对象.create
- 与链接原型之间的差异无关,但在调用子构造函数时,您的版本不会调用父构造函数。因此,它应该仍然具有
,以便在调用子构造函数时正确地建立初始状态函数MyStream2(){events.EventEmitter.call(this);}