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