我正在寻找以下 JavaScript 代码的 AS3 等效项:
var funcName = "foo();"
var fHandler = new Function("a",funcName + "return a + 1");
fHandler // now equals a function like function(a){ foo(); return a + 1 }
好的,这是一个非常简化的示例
更大的图景是:我有一个与 JavaScript 客户端一起工作的服务器。这个服务器给出的每一个响应,都是一个 JavaScript 函数的回调,作为参数提供服务器的响应。
因此,它不使用复杂的严格 JSON 协议(在属性名称周围加上引号,不需要这样的引号是有效的 Object-Literal,等等其他一些微小的差异在 AS3 中仍然是有效的 Object-Literal) ,并且服务器已经实现了 100 多个 API。
然而,现在有一个要求为移动设备制作一个 Air 客户端。
如果我能做到以下几点 - 那就太好了。这是有效的 EMCA 脚本,但不通过 AS3
public function responseFromServer(String:s){
s = chopCallbackWrap(s); //strips the 'myCallback(' and ')' parts
//s is now always a string describing a valid Object-Literals not necessarily JSON
return new Function("", " return " + s ) ();
}
另一方面是在从服务器动态分发的通用客户端算法中进行处理
在 AS3 中执行此操作的方法是什么?