如何将varargs作为扩展列表传递给方法?

Gil*_*ili 3 flash variadic-functions

给出以下Flash方法:

function sendToJava(name:String, ... args)
{
  ExternalInterface.call("sendCommand", name, args);
}
Run Code Online (Sandbox Code Playgroud)

如何确保ExternalInterface.call()以扩展形式解释args?现在,如果我将列表传递给"args",那么该列表将被ExternalInterface.call()解释为类型为"Object []"的单个参数.当参数到达Java时,我无法区分用逗号分隔的多个参数与包含逗号作为其值的一部分的单个参数.

Mic*_*cah 5

一个小错字.它应该是:

function sendToJava(name:String, ... args)
{
  // See Array.unshift()
  args.unshift("sendCommand", name);

  // See Function.apply()
  ExternalInterface.call.apply(null, args);
}
Run Code Online (Sandbox Code Playgroud)

只需将"数组"更改为"应用"

无论如何,非常感谢发布这个.你是一个救星!