Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/02/2011, 14:08
Blashak
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Borrar objeto javascript

Cita:
Iniciado por zerokilled Ver Mensaje
pues no sabria que decirte, solo que a mi me funciona.

Código:
// ejemplo 1;
obj = {prop:true, method:function(){}};
delete obj.prop;
delete obj.method;
console.log(obj);
delete obj;
console.log(obj);

// ejemplo 2;
obj = {prop:true, method:function(){}};
delete obj;
console.log(obj);
otra forma que puedes probar a borrar es asignandole un valor distinto, por ejemplo null o undefined.

Código:
obj = {prop:true, method:function(){}};
obj = null;
obj = undefined;
sin embargo, en este ultimo modelo, el identificador no deja de existir en la tabla del garbage collector. o sea, que para javascript, la variable aun existe solo que con un valor distinto. con delete se borra esa referencia de la tabla y es como si nunca estuviera definida la variable. es importante saber esto por si realizaras alguna comprobacion de dicha variable o propiedad. por ejemplo...
Código:
obj = {prop:true, method:function(){}};
delete obj.prop;
obj.method = undefined;
console.log("prop" in obj); // devuelve false;
console.log("method" in obj); // devuelve true;
Buenas,

Intente copiar un poco tu ejemplo como lo tenias para borrar objetos y lo puse asi

for (key in objeto){


delete objeto[key];
alert(objeto[key]);
}
delete objeto;
alert(objeto);

ahora en este alert ( alert(objeto[key]); ) me sale undefined y el ultimo alert que es del objeto me sale como que existe. me pone [object, Object] osea que continua existiendo.

A nadie se le ocurre como hacer para eliminarlo???