call 和 apply 特性一样

1.都是用来调用函数,而且是立即调用
2.但是可以在调用函数的同时,通过第一个参数指定函数内部 this 的指向
3.call 调用的时候,参数必须以参数列表的形式进行传递,也就是以逗号分隔的方式依次传递即可
4.apply 调用的时候,参数必须是一个数组,然后在执行的时候,会将数组内部的元素一个一个拿出来,与形参一一对应进行传递
5.如果第一个参数指定了 null 或者 undefined 则内部 this 指向 window

bind

1.可以用来指定内部 this 的指向,然后生成一个改变了 this 指向的新的函数
2.它和 call、apply 最大的区别是:bind 不会调用