【发布时间】:2011-03-08 06:12:10
【问题描述】:
我正在尝试区分匿名函数,例如:
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"。即使它们是相同的功能,它们也不是相同的对象。
有没有办法比较那些执行相同任务时功能相同的功能?
有没有办法序列化函数?这样也许我可以比较序列化的表示,看看它们是否共享相同的“代码”。
【问题讨论】:
标签: actionscript-3 function function-pointers anonymous-function haxe