Управление памятью объекта 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];
    });
});

Если я использую оператор delete, я боюсь, что это вызовет утечку памяти, поскольку свойство, названное после значения client.sessionId (ассоциативные массивы являются объектами), не будет удалено, его ссылка на его значение будет удалена, но свойство все еще будет существовать в объекте.

Я прав?

6
задан Moop 21 April 2011 в 20:04
поделиться