闭包是从其封闭环境继承变量的函数。所以让我们看看下面的代码:
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)”,这是正确的吗?因为我的经历,这就是发生的事。
发布于 2015-12-07 20:06:45
是的,这样说是对的。
发布于 2015-12-07 20:14:22
是的,你是对的。
闭包是引用独立(自由)变量的函数。换句话说,闭包中定义的函数“记住”创建它的环境。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures
https://stackoverflow.com/questions/34142157
复制相似问题