Function ConstrA () { EventEmitter.call(this); } util.inherits(ConstrA, EventEmitter);
与
Function ConstrA() {} util.inherits(ConstrA, EventEmitter);
是否有EventEmitter.call(this)所需的功能?
显然,是的:
function EventEmitter() { EventEmitter.init.call(this); } … EventEmitter.init = function() { this.domain = null; if (EventEmitter.usingDomains) { // if there is an active domain, then attach to it. domain = domain || require('domain'); if (domain.active && !(this instanceof domain.Domain)) { this.domain = domain.active; } } this._events = this._events || {}; this._maxListeners = this._maxListeners || undefined; };
由于所有使用的方法都会._events检查其是否存在,因此,如果您忽略了调用,我希望不会有太大的改变,但是我不确定将来是否成立。
._events
有迹象表明,做足够多的其他构造 不 容忍被省略,所以这是很好的做法,只是 始终 构造一个实例时调用构造函数。