this[Format]
将在名为Format的类上查找属性。AFAIK类必须是动态的才能工作。
如果你保持
TextFormat
该类中对象中的实例将更易于管理:
// this is a property in the class
private var _textFormats:Object = {};
// create and store text formats in the object
var textFormat:TextFormat = new TextFormat();
_textFormats["myTextFormat"] = textFormat;
现在假设您得到一个JSON文本字符串,如下所示:
{
"TextStuff":{
"Font":"Arial",
"Size" : "16",
"Bold" : "true",
"Color" : "0xFFFFFF"
}
}
以下内容应适用于此调用
applyFormat("myTextField","myTextFormat","myFont","TextStuff")
function applyFormat(TextField:String, Format:String, EmbFont:String, NameInJson:String):void
{
var myData:Object = JSON.parse(theJSonString);
_textFormats[Format].font = myData[NameInJson].Font;
}