Используйте строку для доступа к объекту в Javascript - PullRequest
1 голос
/ 19 августа 2010

У меня есть переменная, содержащая строку «Y.Plugin.abcd», и я хотел бы получить доступ к объекту с тем же именем ... Я использую YUI 3 и безуспешно пытался использовать метод Y.namespace.

var nm = "Y.Plugin.abcd";

Y.log(Y.Plugin.abcd); //outputs the correct object

Y.log(Y.namespace(nm)); //outputs an empty object

Я в значительной степени ищу какой-либо метод, YUI или нет, чтобы иметь возможность выполнять довольно простую задачу в PHP.

1 Ответ

2 голосов
/ 19 августа 2010

В простом JavaScript вы могли бы split вашей строки и затем использовать нижнюю запись , как показано ниже:

var nm = "Y.Plugin.abcd";
var nm_array = nm.split('.');    // split the nm string
var obj = window;                // set our reference to the global object

for (var i = 0; i < nm_array.length; i++) {
   obj = obj[nm_array[i]];       // walk through all the namespaces
}

Y.log(obj);                      // obj will hold a reference to Y.Plugin.abcd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...