2010-09-02 4 views
5

J'essaie de répliquer une "fonctionnalité" de PHP (et dans la plupart des langues) en Javascript.Utilisation d'une chaîne pour référencer un nom d'objet

Ici, il est en PHP:

$objectName = 'ObjectA'; 

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

Fondamentalement utilisant une variable de chaîne pour faire référence à une variable d'objet.

Donc, en Javascript, j'espérais faire quelque chose comme:

var objectName = "ObjectA"; 

someObject.[objectName].someMethod(); 

Quelqu'un sait comment faire cela? Ou si c'est même possible?

Répondre

14

Vous avez presque, retirer tout le premier ., comme ceci:

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

Si vous souhaitez rechercher plus d'informations autour de cela, il est appelé bracket notation.

+0

Gah. J'étais un fichu personnage. Je ne savais pas comment ça s'appelait ou j'aurais la notation de parenthèse de googled. Merci beaucoup! – Charlie

+0

Cela ne fonctionne pas au-delà de la profondeur un. Si vous avez une chaîne comme "Object.a.attribute.val", vous ne pouvez pas object [str] le dernier attribut. Comment y parvenir? –

Questions connexes