回调中的闭包

时间:2015-12-07 20:03:16

标签: javascript node.js

闭包是从其封闭环境继承变量的函数。所以让我们看看这段代码:

binaryServer = BinaryServer({port: 9001});

binaryServer.on('connection', function(client) {
  console.log("new connection");

  client.on('stream', function(stream, meta) {
    stream.on('data', function(data){
    //actions
    });
    stream.on('end', function() {
    //actions
    });
  });
});

所以,如果我说的话我是对的:" function(data){//actions}是一个闭包,因为它继承了封闭环境的变量(如对象client)"?因为我的经历发生了什么。

2 个答案:

答案 0 :(得分:2)

是的,这是正确的。

答案 1 :(得分:1)

是的,你是对的。

闭包是指独立(自由)变量的函数。换句话说,闭包中定义的函数会记住'它创建的环境。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

How do JavaScript closures work?