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指向