是';在';js代码中的方法是JavaScript方法还是节点方法?

是';在';js代码中的方法是JavaScript方法还是节点方法?,javascript,node.js,Javascript,Node.js,我在谷歌上找不到这个答案,因为“on”是一个很常见的词。 在此node.js示例中: conn.on('close', function() { var pos = connections.indexOf(conn); if (pos >= 0) { connections.splice(pos, 1); } }); 在方法(?)上有一个。它是干什么的?这是一个JavaScript方法?或者它是你只能在节点中找到的东西?我有点困惑,因为我想我在jQue

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

conn.on('close', function() {
var pos =   connections.indexOf(conn);
    if (pos >= 0) {
        connections.splice(pos, 1);
    }
});
在方法(?)上有一个
。它是干什么的?这是一个JavaScript方法?或者它是你只能在节点中找到的东西?我有点困惑,因为我想我在jQuery上看到了类似于
.on
的东西。它与jQuery
.live
事件处理程序类似吗


有人能给我解释一下吗?

这是Node的EventEmitter类中的一个方法:


在这种情况下,
上的
是一种节点方法。jQuery还有一个同名的方法,它们用于基本相同的目的——通过字符串名称将事件处理程序绑定到事件。事实上这些签名和我一模一样,IIRC


纯JavaScript没有这样的方法。

您可能知道,Node.js是事件化的,因此监听事件(pub-sub),就像jQuery或主干网一样

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

从Node.js:

例如,net.Server在对等方每次连接时都会发出一个事件, 打开文件时,fs.readStream会发出一个事件。所有对象 哪些发出事件是events.EventEmitter的实例。您可以访问 此模块通过执行:要求(“事件”)


对于那些想要简单解释的人来说,它是节点本机实现,是addListener(evtName,func)的别名
检查

一切都是javascript方法。它是节点API的一部分,与jQuery完全无关