Se puede variar de un navegador a otro sin embargo el javascript delete
palabra clave tiene nada que ver con el método del DOM createElement
. No es necesario usar delete
.
Lo que sucederá es que la referencia al elemento que se encuentra actualmente en el createdElement
recibirá basura recolectada. Ahora, en el caso de IE eso significará que el elemento tendrá su conteo de referencia reducido a 0 por lo que se destruirá a sí mismo y liberará su memoria. Otros navegadores hacen las cosas de manera diferente, típicamente los elementos en el DOM son en sí mismos objetos recolectados y se eliminarán durante el mismo (o quizás un DOM específico) ciclo de GC.
Si el elemento se ha agregado al documento, en el caso de IE, se agregará otra referencia al elemento, de modo que cuando se elimine la referencia en createdElement
, el elemento tendrá aún un recuento de referencia distinto de cero y continuará existe.
En el caso de otros navegadores donde los elementos en sí son basura, el elemento no se recogerá ya que el recolector lo vería en el gráfico de los objetos conectados al documento.
Debe limpiarse con cualquier otra variable en el ámbito de la función. – Rob
@Rob - esa debería ser una respuesta :) – Quentin