三句话说清楚call、apply、bind区别

总结几句话:

相同点:
  1. 都能改变this的指向
  2. 都能传递参数
  3. 都能通过方法"."方法名调用
不同点:
  1. 函数名不同
  2. 参数传递方式不同
  3. 改变this指向的时机不同(bind在复制时改变,其他两个在调用时改变)
  4. 参数传递时机不同
参数传递方式:

let f
= f1.call(obj,1,1,1); let t = f1.apply(obj,[1,1,1]); let s = f1.bind(obj,1,1,1);
posted @ 2022-04-08 12:01  如意酱  阅读(25)  评论(0编辑  收藏  举报