我正在尝试区分匿名函数,例如:
function() { trace("WOO"); }
从其他人('命名'?)喜欢
var _FUNC:Dynamic = function() { trace("WOO"); }
我想这样做的原因是因为我无法在两个匿名函数之间进行比较,因为它们是两个不同的函数。
为了帮助我使事情更清楚,请考虑以下快速示例。
var _TEST:Dynamic = function(a:Dynamic):String {
var _TESTA:Dynamic = function() { trace("WOO"); };
var _TESTB:Dynamic = _FUNC;
return (a == _TESTA) + ", " + (a == _TESTB);
}
如果我跑_TEST(_FUNC);
,我会回来"false, true"
。即使它们是相同的功能,它们也不是同一个对象。
有没有办法比较那些功能相同的功能,如果它们执行相同的任务?
有没有办法序列化函数?这样也许我可以比较序列化的表示,看看它们是否共享相同的“代码”。