2014-04-11 98 views
0
var variable:Object=new Object(); 

如何將「變量」作爲對象轉換爲字符串「變量」?我認爲這會起作用:將對象的名稱轉換爲字符串

var variable:Object=new Object(); 
var variable_string=String(variable); 
+1

var var_string =「variable」'。由於沒有辦法在不知道某種形式的名稱的情況下引用一個變量或一個屬性,你總是可以使用字符串文字或者用來獲取屬性的表達式。 – Ryan

回答

1

您無法獲取通過所述實例持有實例的變量的名稱。

您可以在一個Object實例存儲對給定的鍵,其可以使用for...in循環中找到:

var myObject:Object = {}; 
var objects:Object = { variable: myObject }; 

for(var i:String in objects) 
{ 
    if(objects[i] === myObject) 
    { 
     trace(i); // variable 
     break; 
    } 
} 
1

所有類級別成員名稱都存儲在字符串常量池中已編譯的SWF。因此,事實上在技術上可以通過加載SWF的字節並解析它們(或通過使用其他人的API來實現)來獲取變量的名稱。但是,這可能比它在做什麼更值得麻煩。

+0

我的解決方法是爲變量設置一個字符串屬性。 var variable:Object = new Object(); variable.string = 「可變的」; – DrakeTruber