我有一些实现这个接口的类:
function execute(entity:Entity, ...params):void;
没关系,但是,我想要这个:
function execute(entity:Entity, ...params = null):void;
因为,不是每个类都需要参数。
它会引发编译错误。
好像我不能在 AS3 中为 ...params 设置默认值。有没有办法做到这一点?
谢谢。
我有一些实现这个接口的类:
function execute(entity:Entity, ...params):void;
没关系,但是,我想要这个:
function execute(entity:Entity, ...params = null):void;
因为,不是每个类都需要参数。
它会引发编译错误。
好像我不能在 AS3 中为 ...params 设置默认值。有没有办法做到这一点?
谢谢。
我不知道有什么方法可以在params
声明时将默认值设置为空数组以外的东西,但解决方法是:
function exec(entity:Entity, ... extraParams)
{
// EDIT: strange that you are getting null,
// double check your variable names and if needed you can add:
if(extraParams == null)
{
extraParams = new Array();
}
if(extraParams.length == 0) // If none are specified
{
// Add default params
extraParams[0] = "dude";
extraParams[1] = "man";
}
// the rest of the function
}
function exec(entity:Entity, ...params){
// Set default values if no params passed:
params = arguments.length > 1
? params
: {foo:'defaultFooVal', bar:'defaultBarVal'};
// ...
}