Cita:
Iniciado por zerokilled 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???