2010-09-02 15 views
5

Sto tentando di replicare una "funzione" di PHP (e nella maggior parte delle lingue) in Javascript.Utilizzo di una stringa per fare riferimento a un nome di oggetto

Qui è in PHP:

$objectName = 'ObjectA'; 

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

Fondamentalmente utilizzando una variabile di stringa per fare riferimento una variabile oggetto.

Così in Javascript, speravo di fare qualcosa di simile:

var objectName = "ObjectA"; 

someObject.[objectName].someMethod(); 

Qualcuno sa come fare questo? O se è persino possibile?

risposta

14

Devi quasi, basta rimuovere il primo ., in questo modo:

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

Se si desidera cercare maggiori informazioni intorno a questo, si chiama bracket notation.

+0

Gah. Ero un dannato personaggio fuori. Non sapevo come si chiamava o avrei annotato la notazione su Google. Grazie mille! – Charlie

+0

Questo non funziona oltre la profondità. Se hai una stringa come "Object.a.attribute.val" non puoi obiettare [str] l'ultimo attributo. Come ottenere questo? –

Problemi correlati