Ver Mensaje Individual
  #9 (permalink)  
Antiguo 09/10/2010, 15:12
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿Cómo obtener nombre objeto instanciado a la clase?

personalmente no le encuentro sentido el querer obtener el nombre de una propiedad cuando en principio de alguna manera tienes que indicarla por ti mismo. tampoco pude pensar en algun caso en que sea estrictamente necesario. adicional, en algunos casos pudiera devolver resultados inesperados. particularmente cuando dos o mas variables hacen referencia a la misma ubicacion de memoria. por ejemplo self y window siempre hacen referencia a la misma ventana. si no hay marcos, adicionalmente parent y top se refieren al mismo objeto.

Código:
Object.prototype.getInstanceName = function(instance){
for(var prop in this) if(this.hasOwnProperty(prop) && this[prop] === instance) return prop;
throw new Error("Instance not declared in this scope.");
}

self.getInstanceName(self); // puede devolver self, top, parent, o window;
document.getInstanceName(document.body); // devuelve body;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 09/10/2010 a las 16:52 Razón: "pude" en lugar de "puede", se confundia el mensaje