2010-08-19 60 views
1

我有一個包含字符串「Y.Plugin.abcd」的變量,我想訪問同名的對象...我使用YUI 3並嘗試了Y.沒有運氣的命名空間方法。使用字符串訪問Javascript中的對象

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中。

回答

2

在普通的JavaScript,你很可能split您的字符串,然後使用subscript notation,如下所示:

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 
+0

謝謝,我落得這樣做Y.log(Y.Plugin [納米]);它最終爲我提供了我需要的參考資料。 – user103219 2010-08-19 05:49:34