Function.apply(obj,args)
obj:这个对象将代替Function类里this对象,null为空 不变
args:这个是数组,它将作为参数传给Function(args-->arguments)
为了改变函数体内部 this 的指向,也就是把Function(即this)绑定到obj,这时候obj具备了Function的属性和方法,说白一点就是obj继承了Function的属性和方法。
例如:
function mul(a,b){
return this+(a*b);
}
console.log(mul.apply(null,[2,5]));
console.log(mul.apply(2,[2,5]));
输出如下:
[object Window]10
12
分析:
apply第一个参数为this的指向对象,后面的参数为传参,在mul的函数里 return 出来的结果 为
1. this不变 2*5
2. this改变 2+2*5
1626

被折叠的 条评论
为什么被折叠?



