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创建的实例

Last Updated 10/16/2023, 7:06:22 AM
What do you think?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v2.15.8