Buenas,
Queria saber como se elimina un objeto. Estuve buscando informacion por internet y es con delete pero lo probe y con delete lo unico que hago es borrar los metodos o propiedades instanciadas. A mi me interesa el objeto total.
Saludos
| |||
Borrar objeto javascript Buenas, Queria saber como se elimina un objeto. Estuve buscando informacion por internet y es con delete pero lo probe y con delete lo unico que hago es borrar los metodos o propiedades instanciadas. A mi me interesa el objeto total. Saludos |
| |||
Respuesta: Borrar objeto javascript Cita: si quiero borrar las propiedades pongo. delete objeto.nombre; delete objeto.edad; y me las borra pero si quiero borrar todo el objeto con las propiedades no me hace nada delete objeto; lo compruebo mediante un alert para ver si existe o no. Saludos |
| ||||
Respuesta: Borrar objeto javascript pues no sabria que decirte, solo que a mi me funciona.
Código:
otra forma que puedes probar a borrar es asignandole un valor distinto, por ejemplo null o undefined.// 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);
Código:
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...obj = {prop:true, method:function(){}}; obj = null; obj = undefined;
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;
__________________ la maldad es una virtud humana, y la espiritualidad es la lucha del hombre contra su maldad. Última edición por zerokilled; 19/02/2011 a las 15:53 |
| |||
Respuesta: Borrar objeto javascript Cita: Buenas,
Iniciado por zerokilled pues no sabria que decirte, solo que a mi me funciona.
Código:
otra forma que puedes probar a borrar es asignandole un valor distinto, por ejemplo null o undefined.// 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);
Código:
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...obj = {prop:true, method:function(){}}; obj = null; obj = undefined;
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; 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??? |
| ||||
Respuesta: Borrar objeto javascript tendrias que poner un codigo mas alla de ser teorico, o sea, tu codigo real. si ese es tu codigo original, pues no se que decirte... como antes indique, a mi me funciona. ¿en que navegador estas probando?
__________________ la maldad es una virtud humana, y la espiritualidad es la lucha del hombre contra su maldad. |
| |||
Respuesta: Borrar objeto javascript Cita: te dejo el codigo de como elimino el objeto.
Código Javascript:
Ver original Saludos |
| ||||
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. |
Etiquetas: |