Javascript Node.js使用新运算符调用之间的差异

Javascript Node.js使用新运算符调用之间的差异,javascript,node.js,Javascript,Node.js,为什么这两个变量1和2不相等: var EventEmitter = require('events').EventEmitter; 1 var ee=新的事件发射器 2 var ee=新的要求“事件”。EventEmitter 变量1和2不一样,我不明白为什么会这样 但是,这两个是等效的a和b: var EventEmitter = require('events').EventEmitter; var ee=新的事件发射器 b var ee=新的require'events

为什么这两个变量1和2不相等:

    var EventEmitter = require('events').EventEmitter;
1 var ee=新的事件发射器

2 var ee=新的要求“事件”。EventEmitter

变量1和2不一样,我不明白为什么会这样

但是,这两个是等效的a和b:

   var EventEmitter = require('events').EventEmitter;
var ee=新的事件发射器

b var ee=新的require'events'。EventEmitter


有人能解释一下原因吗?

这两个版本根本不同

这个:

var EventEmitter = require('events').EventEmitter;
var ee = new EventEmitter();
var ee = new require('events').EventEmitter;
执行require,返回事件的导出,然后对结果调用新操作符

这个:

var EventEmitter = require('events').EventEmitter;
var ee = new EventEmitter();
var ee = new require('events').EventEmitter;
作为构造函数调用require

请看一个更为孤立和简单的示例:

新建日期//创建新的日期对象


new Date//抛出一个类型错误:字符串不是函数

这两个版本根本不同

这个:

var EventEmitter = require('events').EventEmitter;
var ee = new EventEmitter();
var ee = new require('events').EventEmitter;
执行require,返回事件的导出,然后对结果调用新操作符

这个:

var EventEmitter = require('events').EventEmitter;
var ee = new EventEmitter();
var ee = new require('events').EventEmitter;
作为构造函数调用require

请看一个更为孤立和简单的示例:

新建日期//创建新的日期对象

new Date//抛出类型错误:字符串不是更新的函数 这里有两件事

1.使用EventEmitter API 我想你是在问为什么ee1!==ee2使用API

它们是不同的,因为让我们让您创建任意数量的EventEmitter

这样,您就有了一个EventEmitter,用于多个套接字、流、db连接或任何您需要的连接

您可以将新的EventEmitter想象为一个工厂,它将淘汰EventEmitter的

2.如果您询问有关此特定代码的问题,则第二个版本中存在错误。 该错误是由于

Tl;博士,你需要的是周围的人。对于一行新代码:

更新 这里有两件事

1.使用EventEmitter API 我想你是在问为什么ee1!==ee2使用API

它们是不同的,因为让我们让您创建任意数量的EventEmitter

这样,您就有了一个EventEmitter,用于多个套接字、流、db连接或任何您需要的连接

您可以将新的EventEmitter想象为一个工厂,它将淘汰EventEmitter的

2.如果您询问有关此特定代码的问题,则第二个版本中存在错误。 该错误是由于

Tl;博士,你需要的是周围的人。对于一行新代码:


var ee=new require'events'.EventEmitter;?{a:1}=={a:1};//false@jfriend00是的,您编写了与工作相关的调用:var ee=new require'events'.EventEmitter;?{a:1}=={a:1};//false@jfriend00是的,您编写的调用与工作相关:括号不添加任何新的require“events”。EventEmitter与新的require“events”相同。EventEmitter因为运算符优先级。括号不添加任何新的require“events”。EventEmitter与新的require“events”相同。EventEmitter因为运算符优先级优先