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

问题描述 投票:0回答:3

我正在尝试访问对象数据的“ID”,但编译器不喜欢这样...... 执行此操作的正确方法是什么。

var objectName:Object = {ID:2, IDName:"this_is_string"};

var target:string="objectName";

trace(target.IDName");  // does not work...
trace("target.ID");

任何帮助将不胜感激。

actionscript-2
3个回答
0
投票

尝试:

trace( [target].IDName );

0
投票

有效:

trace (eval(target).IDName)

0
投票

如何将字符串转换为对象标识符,然后检索/获取该对象的属性值? 在 ActionScript 中有两种方法可以做到这一点:

  1. 我们可以使用 eval() 函数:

eval(targetAsString.IDName); 或者 eval(_root.targetAsString.IDName);

  1. 我们可以使用数组访问运算符:

_root[targetAsString].IDName; 或者 _root[targetAsString]["IDName"];

请注意我如何通过多次使用数组访问运算符 [] 来使用字符串来定位属性的值。

我建议在 eval() 函数上使用数组访问运算符,因为它更快且占用的处理器资源更少。这也是一个更安全的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.