将对象的名称转换为字符串

时间:2014-04-11 00:11:53

标签: actionscript-3 flash

var variable:Object=new Object();

你如何转换"变量"作为"变量"的对象作为一个字符串?我认为这样可行:

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

2 个答案:

答案 0 :(得分: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 :(得分:1)

所有类级别成员名称都存储在已编译的SWF中的字符串常量池中。因此,实际上技术上可以通过加载SWF的字节并解析它们来获取变量的名称(或者通过使用其他人的API来实现它)。然而,无论你正在做什么,这可能比它的价值更麻烦。