flash - 静态函数中的动态变量名

标签 flash actionscript-3 apache-flex flex4 flex4.5

考虑到不能在动态函数中使用“this”,有什么方法可以在静态函数中使用动态变量。

我正在尝试做的事情:

public static function convertToDynamicString(pString:String):String
{
    if(pString == "" || pString == null) return "";
    var re:RegExp = /(\{\w+\})/;
    var results:Array = pString.split(re);
    var dynamicString:String = "";
    for each(var pWord:String in results)
    {
        if(pWord.substr(0, 1) == "{") dynamicString += this[pWord.substring(1, (pWord.length - 1))];    
        else dynamicString += pWord;
    }
    return dynamicString;
}

问题:

this["变量名"] 在静态函数中不起作用

最佳答案

不确定您想要“this”引用什么,但假设您有一个名为“Foo”的类,其中包含静态函数,只需使用 Foo[str];

或者,创建一个静态本地对象:

private static var _this:Object = {//your dynamic stuff}

然后使用“_this”。

关于flash - 静态函数中的动态变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8512400/

相关文章:

flash - as3 replaceAll 不敏感

apache-flex - 将X类型的值隐式强制为不相关的X类型

apache-flex - 是否有保留的 FlashVars 名称列表?

PHP/Actionscript 3 带有进度指示器的多个文件上传

javascript - 如何识别 Flash 和 JavaScript 客户端发出的请求?

java - Red5 RTMP 流媒体

javascript - 如何在 Firefox 中缓存 swf 文件而不执行它?

ios - 为 flash 到 ios 项目渲染可水平拖动的影片剪辑列表的最佳方法是什么

java - 垃圾收集问题

php - 应采用什么设计来保存文件信息