call(Function.call 方法)
call(Function.call 方法)
public call(thisObject:Object, [parameter1:Object]) : Object
调用 Function 对象表示的函数。ActionScript 中的每个函数都由一个 Function 对象来表示,所以所有的函数都支持此方法。
几乎在所有的情形下,都可以使用函数调用运算符 (()) 来代替此方法。函数调用运算符使代码简明易读。此方法主要用于需要显式控制函数调用中的 thisObject 参数时。通常,如果将函数作为对象的方法来调用,则在函数体内,thisObject 设置为 myObject,如下面的示例所示:
myObject.myMethod(1, 2, 3);
在某些情况下,您可能希望 thisObject 指向其它地方;例如,函数必须作为对象的方法进行调用,但该函数实际上并不作为该对象的方法进行存储。
myObject.myMethod.call(myOtherObject, 1, 2, 3);
您可以将值 null 传递给 thisObject 参数,以便作为常规函数而不是作为对象的方法来调用函数。例如,下面的函数调用是等效的:
Math.sin(Math.PI / 4)
Math.sin.call(null, Math.PI / 4)
返回被调用函数指定为返回值的值。
可用性:ActionScript 1.0;Flash Player 6
参数
thisObject:Object - 一个对象,指定函数体内 thisObject 的值。
parameter1:Object [可选] - 要传递给 myFunction 的参数。可以指定零个或多个参数。
返回
Object -
示例
下面的示例使用 Function.call() 使函数表现得像另一个对象的方法,而不将函数存储在该对象中:
function myObject() {
}
function myMethod(obj) {
trace("this == obj? " + (this == obj));
}
var obj:Object = new myObject();
myMethod.call(obj, obj);
trace() 语句将显示:
this == obj? true
转载于:https://www.cnblogs.com/baobaoandxiangxiang/archive/2006/10/08/523332.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
