![]() ![]() | |
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);
}
![]() ![]() | |