我正在尝试访问对象数据的“ID”,但编译器不喜欢这样...... 执行此操作的正确方法是什么。
var objectName:Object = {ID:2, IDName:"this_is_string"};
var target:string="objectName";
trace(target.IDName"); // does not work...
trace("target.ID");
任何帮助将不胜感激。
尝试:
trace( [target].IDName );
有效:
trace (eval(target).IDName)
如何将字符串转换为对象标识符,然后检索/获取该对象的属性值? 在 ActionScript 中有两种方法可以做到这一点:
eval(targetAsString.IDName); 或者 eval(_root.targetAsString.IDName);
_root[targetAsString].IDName; 或者 _root[targetAsString]["IDName"];
请注意我如何通过多次使用数组访问运算符 [] 来使用字符串来定位属性的值。
我建议在 eval() 函数上使用数组访问运算符,因为它更快且占用的处理器资源更少。这也是一个更安全的解决方案。