JS中bind和call,apply的区别

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,就是调用函数本身,而不会产生新的函数。

发布了9 篇原创文章 · 获赞 2 · 访问量 271

猜你喜欢

转载自blog.csdn.net/xuhua32100/article/details/103859736