Rob*_*sto 4 apache-flex actionscript reference function
所以我有一个类,我实例化一个变量回调,如下所示:
public var callback:Function;
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.现在,我想向此类添加一个事件监听器并测试是否存在回调.我这样做:
this.addEventListener(MouseEvent.MOUSE_OVER, function(event:MouseEvent) : void {
if (callback) {
// do some things
}
});
Run Code Online (Sandbox Code Playgroud)
这很好用,不会抛出任何错误,但无论我在哪里测试回调,我都会得到以下警告:
3553: Function value used where type Boolean was expected.
Possibly the parentheses () are missing after this function reference.
Run Code Online (Sandbox Code Playgroud)
这让我感到烦恼,所以我试图通过测试null和undefined来摆脱警告.那些导致错误.我也无法将Function实例化为null.
我知道,我知道,真正的程序员只关心错误,而不是警告.如果这种情况得不到解决,我会活下来.但它困扰我!:)我只是神经质,或者实际上是否有某种方法来测试是否在没有IDE婊子的情况下创建了真正的函数?
与使用typeof类似:
if(callback is Function){
}
Run Code Online (Sandbox Code Playgroud)
我相信如果函数存在并且是函数则应该求值为true,如果它是null或不是函数则应该为false.(虽然如果这不起作用试试if(callback && callback is function){}
| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |