这个node.js中的'on'方法是JavaScript方法还是节点方法?

我在Google上找不到这个答案,因为“on”是一个很常见的词。 在这个node.js例子中:

conn.on('close', function() { var pos = connections.indexOf(conn); if (pos >= 0) { connections.splice(pos, 1); } }); 

有一个.on方法(?)。 它能做什么? 这是一个JavaScript方法? 或者它只是你在节点中find的东西? 我有点困惑,因为我觉得我在jQuery上看到类似于.on东西。 它是类似于jQuery .live事件处理程序吗?

任何人都可以向我解释这个?

在这种情况下, on是一个节点方法。 jQuery也有一个相同名字的方法,它们用于基本相同的目的 – 通过绑定事件处理程序来处理事件的string名称。 实际上签名看起来和我一样,IIRC。

纯粹的JavaScript没有这样的方法。

对于那些寻找一个简单的解释,这是节点本地实现,它是一个addListener(evtName,func)的别名在这里检查API

如你所知,Node.js是平的,因此监听事件(pub-sub),就像jQuery或Backbone一样。

在Node.js中,通常绑定函数(使用'on'或其他函数)来侦听事件。

从Node.js 文档 :

例如,net.Server每当对等体连接到它时就发出一个事件,当文件被打开时,fs.readStream会发出一个事件。 所有发出事件的对象都是events.EventEmitter的实例。 你可以通过执行require(“events”)来访问这个模块。

的NodeJS

 .on(eventName, listener) eventName <any> The name of the event. listener <Function> The callback function 

JQuery的

 .on( events [, selector ] [, data ], handler ) events Type: String One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". handler Type: Function A function to execute when the event is triggered.