2010-09-02 18 views
5

Estoy tratando de replicar una "característica" de PHP (y en la mayoría de los idiomas) en Javascript.Usando una cadena para hacer referencia al nombre de un objeto

Aquí está en PHP:

$objectName = 'ObjectA'; 

$someObject->$objectName->someMethod(); 

Básicamente utilizando una variable de cadena para hacer referencia a una variable de objeto.

Así en Javascript, que estaba esperando para hacer algo como:

var objectName = "ObjectA"; 

someObject.[objectName].someMethod(); 

Alguien sabe cómo hacer esto? O si es posible?

Respuesta

14

Casi lo tienes, basta con retirar la primera ., así:

var objectName = "ObjectA"; 
someObject[objectName].someMethod(); 

Si desea buscar más información en torno a este, se llama bracket notation.

+0

Gah. Yo era un maldito personaje fuera. No sabía cómo se llamaba, o tendría una notación de soporte en Google. ¡Muchas gracias! – Charlie

+0

Esto no funciona más allá de la profundidad uno. Si tiene una cadena como "Object.a.attribute.val", no puede oponerse [str] al último atributo. ¿Cómo lograr esto? –

Cuestiones relacionadas