在actionscript中命名的参数

bas*_*rat 0 apache-flex syntax actionscript actionscript-3

如果我有这样的功能:


        public function defaultValues(first = 1,second =2,third = 3)
        {
            trace(first);
            trace(second);
            trace(third);
        }

如何仅通过传递第二个= 20的值来调用此函数?

Bri*_*sio 7

ActionScript3不支持命名参数. 如果你真的想要这种行为,你可以使用一个关联数组...但我不推荐它,除非你真的想要动态:

public function defaultValues(params:Object)
{
    var first = "first" in params ? params.first : 1;
    var second = "second" in params ? params.second : 2;
    var third = params.third ? params.third : 3;

    trace(first);
    trace(second);
    trace(third);
}
Run Code Online (Sandbox Code Playgroud)

然后,你可以调用它:

defaultValues({second: 99});
Run Code Online (Sandbox Code Playgroud)