call()方法和 apply()方法的区别
##JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。
>
call()--是调用一个对象的call方法,以另一个对象替换当前对象,伪装继承。 apply()--应用某一对象的一个方法,用另一个对象替换当前对象。
>##1.不同点:方法传递的参数不同
>call 需要把参数按顺序传递进去.例如:a.call(b,x,h,r);
> apply最多只能有两个参数——新this对象和一个数组 argArray。如果给该方法传递多个参数,则把参数都写进这个数组里面,当然,即使只有一个参数,也要写进数组里面。例如:a.apply(b,[x,h,r]) 。
>##2. 继承范围不同。
>调用call方法是把要继承的对象的属性和方法全部继承,而调用 apply方法只继承对象的方法,运用较为灵活。
##JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。
>
call()--是调用一个对象的call方法,以另一个对象替换当前对象,伪装继承。 apply()--应用某一对象的一个方法,用另一个对象替换当前对象。
>##1.不同点:方法传递的参数不同
>call 需要把参数按顺序传递进去.例如:a.call(b,x,h,r);
> apply最多只能有两个参数——新this对象和一个数组 argArray。如果给该方法传递多个参数,则把参数都写进这个数组里面,当然,即使只有一个参数,也要写进数组里面。例如:a.apply(b,[x,h,r]) 。
>##2. 继承范围不同。
>调用call方法是把要继承的对象的属性和方法全部继承,而调用 apply方法只继承对象的方法,运用较为灵活。