call能干啥?
1、能够改变函数里面的this。也能降低耦合度。
1)、eat和Person,Dog没有关系,但是通过call可以让他们有关系。
2)、call函数的第一个参数,就是函数本身的this。
3)、call函数的第二个参数朝后,就是函数本身的参数。
call和apply的异同点
1、相同:
都能改变this的指向,call和apply的第一个参数就是this的指向。
2、不同:
apply的第二个参数是个数组,里面放置着函数本身的所有参数
call把apply的第二个参数,一一列出来。
二、bind和call,apply的异同点:
1、相同点:
都能改变this的指向
2、不同点
1)、bind:调用bind时,并不调用函数本身,而是把函数和一个对象A进行绑定,返回新的函数,新的函数的this永远都是该 对象A。
2)、call和apply,就是调用函数本身,而不会产生新的函数。