2010-02-21 12 views

Respuesta

45

Eso no funcionaría, primero porque el valor this asociado con un contexto de ejecución es inmutable.

Ahora podría pensar que eliminar myObject (por) podría funcionar, pero eso tampoco lo haría.

Las variables son realmente propiedades del objeto variable , este objeto no es accesible por el código, que es justo en frente de la cadena alcance, en el que hacer las declaraciones de variables.

La instrucción Variable, crea esas propiedades con el atributo { DontDelete }, y hace que el operador delete falle.

Una opción si desea alcanzar esto es anulan su instancia myObject, pero eso no garantiza que otra referencia todavía está apuntando a ese objeto.

conferencias recomendados:

+0

Parece que los enlaces de bclary.com ya no son válidos. Creo que estas son las soluciones: 1) https://bclary.com/2004/11/07/ecma-262.html#a-10.1.7 y 2) https://bclary.com/2004/11/07 /ecma-262.html#a-10.1.3 – ThisClark

10

No. this es solo una referencia local al objeto, por lo que eliminarlo no hace que el objeto no exista. No hay forma de que un objeto se autodestruya de esta manera. Si tienes objetos grandes que crees que deberían borrarse después, entonces deberías mirarlos usando los patrones Facade o Strategy.

+0

+1 para el uso del nombre del patrón! Gracias por la sugerencia – SomeShinyObject

4

usted podría intentar

window.namespace.myObject = Object.create(baseObject); 

namespace.myObject.init = function() { 

    /* do some stuff... */ 

    delete window.namespace.myObject; 

} 

namespace.myObject.init(); 
+0

Esto no resolverá el problema, la pregunta fue sobre eliminar el objeto como un todo. – Silom

+0

Suponiendo que la única referencia al objeto es 'namespace.myObject', eliminar esa referencia debería ocasionar que el objeto sea eventualmente recolectado como basura. Pero, 'delete' no es' dealloc', como se señala en la respuesta seleccionada. – Patrick

+0

Estoy construyendo una clase, GameObject, que debería tener un método, destroy(). Esto todavía no ayuda ... –

Cuestiones relacionadas