在ActionScript 3中,当您通过为其指定默认值来声明可选参数时,null值不能用于类型化参数.
function Action(Param:int=null){ // 1184: Incompatible default value of type Null where int is expected. } function Action(Param:int=0){ // No compiler errors }
此变通方法或可应用于所有数据类型的通用值的任何变通方法?
您可以将int更改为Number,然后可以将其设置为NaN,这是一个特殊数字,表示"非数字",这可以表示数字的空状态.
要检查某些东西是否为NaN,您必须使用isNaN()函数val == NaN
,否则您将无法获得预期的结果.
function Action(param:Number = NaN) : void { trace(param); }
对于所有其他对象,您可以将它们设置为null,但在Actionscript中处理"原始"数字的方式不同.
int变量不能为null,这就是为什么你得到那个错误,只有像对象这样的引用类型可以为null
相反,您可以使用NaN作为特殊数字而不是null.如果你想检查是否有NaN,你可以使用isNaN函数.