小编Moo*_*oop的帖子

在属性上使用delete时的Javascript对象内存管理

我目前正在编写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但属性仍将存在于宾语.

我对吗?

javascript node.js socket.io

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×1

node.js ×1

socket.io ×1