是的,只是将字符串解析为实例所有者旁边的方括号。例如:
this[instance_name].text = url;
更多信息:
把这个对象:
var obj:Object = {
property1: 10,
property2: "hello"
};
它的属性可以被访问或者如你所期望:
obj.property1;
obj.property2;
或者如前所述以上:
obj["property1"];
obj["property2"];
我建议使用函数像这样的我创建收紧你的代码了一下:
function selectProperty(owner:*, property:String):*
{
if(owner.hasOwnProperty(property)) return owner[property];
else throw new Error(owner + " does not have a property \"" + property + "\".");
return null;
}
trace(selectProperty(stage, "x")); // 0
trace(selectProperty(stage, "test")); // error
并且这对于另一个MC内部的东西是如何工作的,例如mc.instance_name.text = url;这是[mc] .this [instance_name] .text = url; ?? – 2012-04-17 02:26:40
@ Eli.Stone如果你已经和'mc'在同一个范围内,你可以这样做:'mc [instance_name] .text = url;' – Marty 2012-04-17 02:53:44
如果你从一个类文件中工作? – 2012-04-17 03:01:17