Flash Player 6。
myFunction
.apply(thisObject
,argumentsObject
)
thisObject
myFunction
应用到的对象。
argumentsObject
一个数组,其元素作为参数传递给 myFunction
。
被调用函数指定的任何值。
方法;指定将在动作脚本调用的任何函数内使用的 this
的值。此方法还指定要传递给任何被调用函数的参数。因为 apply()
是 Function 类的方法,所以它也是动作脚本中每个函数对象的
方法。
参数被指定为 Array 对象。如果在脚本实际执行前,无法知道要传递的参数的数量,那么这种方法通常很有用。
下面的函数调用是等效的:
Math.atan2(1, 0) Math.atan2.apply(null, [1, 0])
您可以构造一个包含输入入口字段的 SWF 文件,该字段允许用户输入要调用的函数名,以及要传递给该函数的零个或多个参数。如果按“调用”按钮,则将使用 apply
方法调用该函数,并指定相应的参数。
在此示例中,用户在名为 functionName
的输入文本字段中指定函数名。在名为 numParameters
的输入文本字段中指定参数数量。在文本字段中最多可指定 10 个参数,这些文本字段名为parameter1
、parameter2
,直到 parameter10
。
on (release) { callTheFunction(); } ... function callTheFunction() { var theFunction = eval(functionName.text); var n = Number(numParameters); var parameters = []; for (var i = 0; i < n; i++) { parameters.push(eval("parameter" + i)); } theFunction.apply(null, parameters); }