我目前正在编写node.js/socket.io应用程序,但问题是javascript的一般问题.
我有一个关联数组,为每个客户端连接存储一种颜色.考虑以下:
var clientColors = new Array();
//This execute each new connection
socket.on('connection', function(client){
clientColors[client.sessionId] = "red";
//This execute each time a client disconnect
client.on('disconnect', function () {
delete clientColors[client.sessionId];
});
});
Run Code Online (Sandbox Code Playgroud)
如果我使用delete语句,我担心它会导致内存泄漏,因为client.sessionId不会删除以value(关联数组为对象)命名的属性,它对其值的引用将是gonne但属性仍将存在于宾语.
我对吗?