2010-09-02 16 views
5

Próbuję replikować "funkcję" PHP (w większości języków) w JavaScript.Używanie ciągu znaków do odwołania do nazwy obiektu

Oto ona w PHP:

$objectName = 'ObjectA'; 

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

Zasadniczo stosując zmienną string odwoływać się do zmiennej obiektowej.

Więc w JavaScript, miałem nadzieję zrobić coś takiego:

var objectName = "ObjectA"; 

someObject.[objectName].someMethod(); 

Ktoś wie jak to zrobić? A może nawet jest to możliwe?

Odpowiedz

14

Prawie mieć to, po prostu usunąć pierwszy ., tak:

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

Jeśli chcesz wyszukać więcej informacji wokół tego, który nazywa bracket notation.

+0

Gah. Byłem cholerną postacią. Nie wiedziałem, jak to się nazywało, bo inaczej skorzystałbym z Notogra. Wielkie dzięki! – Charlie

+0

To nie działa po głębokości pierwszej. Jeśli masz łańcuch taki jak "Object.a.attribute.val", nie możesz zgłosić [str] ostatniego atrybutu. Jak to osiągnąć? –

Powiązane problemy