Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/02/2011, 16:15
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 8 meses
Puntos: 1485
Respuesta: Borrar objeto javascript

me imaginaba que el asunto iba por un closure, lo que dezconocia era que no se puede borrar un simbolo (variable o funcion) que reside en un scope distinto al lugar donde se invoca delete. en el siguiente ejemplo, en la consola debes ver que imprime: Object, false, Object. el false se refiere a que la operacion delete private no fue exitoso. conclusion, no puedes borrar una variable cuando se crea un closure. tendras que utilizar la alternativa que antes indique, asignale a la variable null o undefined. en realidad no estarias borrandolo, pero si deberia liberar suficiente memoria ocupada comparado con null o undefined.

Código:
function closure(){
var private = {prop: true, method: function(){}};
return function(){
console.log(private);
console.log(delete private);
console.log(private);
};
}

closure()();
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.