3
是什麼下面的區別:EventEmitter創作
new require('events').EventEmitter();
和
var events = require('events');
new events.EventEmitter();
第一個不工作,但第二個 - 工程。
爲什麼?
是什麼下面的區別:EventEmitter創作
new require('events').EventEmitter();
和
var events = require('events');
new events.EventEmitter();
第一個不工作,但第二個 - 工程。
爲什麼?
注意這些線之間的區別:
new foo().bar()
......還有......
new foo.bar()
在第一種情況下new
人員進行更換foo()
功能是如何處理:它將用作構造函數(用this
指向其原型副本等)
但在第二種情況下,new
運算符不能應用於foo
,因爲後者不是未調用:它的bar
屬性被調用。當然,new
這裏意味着foo.bar
被用作構造函數。
而這正是您的示例中發生的情況:第一個案例嘗試將new
應用於require
函數調用,而不是%require_result%.EventEmitter
之一。
new(require('events'))。EventEmitter();將工作 – user568109 2013-03-25 18:45:56