apply call bind 区别
kingcwt2020-2-26前端javascript
1 三者都可以改变函数的this指向
2 三者的第一个参数都是this要指向的对象,如果第一个参数不存在,为undefined或则null。this都会指向window
3 三者都以传参,但是apply是数组,call是参数列表,且apply和call都是一次性传入参数,而bind可以分为多次传入
4 bind会返回绑定this之后的函数,便于稍后调用,而apply和call是立即执行
5 bind()会返回一个新的函数,this指向新函数的第一个参数,如果返回的这个新函数作为构造函数创建一个新的对象,那么。此时this不在指向函数的第一个参数,而是指向用new创建的实例