2010-09-02 43 views
5

Tôi đang cố gắng sao chép "tính năng" của PHP (Và bằng hầu hết các ngôn ngữ) trong Javascript.Sử dụng chuỗi để tham chiếu đến tên đối tượng

Dưới đây là trong PHP:

$objectName = 'ObjectA'; 

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

Về cơ bản sử dụng một biến chuỗi để tham khảo một biến đối tượng.

Vì vậy, trong javascript, tôi đã hy vọng để làm điều gì đó như:

var objectName = "ObjectA"; 

someObject.[objectName].someMethod(); 

Bất cứ ai cũng biết làm thế nào để làm điều này? Hoặc nếu nó thậm chí có thể?

Trả lời

14

Bạn hầu như có nó, chỉ cần loại bỏ các . đầu tiên, như thế này:

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

Nếu bạn muốn tìm kiếm để biết thêm xung quanh này, nó được gọi là bracket notation.

+0

Gah. Tôi là một nhân vật chết tiệt. Tôi không biết nó được gọi là gì hay tôi đã Googled Frame Notation. Cảm ơn rất nhiều! – Charlie

+0

Điều này không hoạt động vượt quá độ sâu một. Nếu bạn có một chuỗi như "Object.a.attribute.val", bạn không thể phản đối [str] thuộc tính cuối cùng. Làm thế nào để đạt được điều này? –

Các vấn đề liên quan