as3 Function 中的call与apply方法

apply方法,作用跟call一样,也可以用来改变函数执行时,this指针的指向,区别在于apply方法要求第二个参数必须是数组形式

例子,舞台上添加名为a和b的实例mc

案例1:

a.getNumValue=function(num:uint){
trace(this.name,num)
};
a.getNumValue.call(a,2);
a.getNumValue.call(b,2);
a.getNumValue.apply(b,[1]); /* trace结果
a 2
b 2
b 1
*/

 案例2:

function getNumValue(num:uint)
{
trace(this.name,num);
}
this.getNumValue.call(a,2);
this.getNumValue.call(b,2);
this.getNumValue.apply(b,[1]); /* trace结果
root1 2
root1 2
root1 1
*/

通过案例1和2得出,需要注意,只有在匿名函数下,才能使用call或者apply显式转换this指向

上一篇:查看memcached依赖的库


下一篇:TFS Services 集成Docker