三句话说清楚call、apply、bind区别
总结几句话:
相同点:
不同点:
- 函数名不同
- 参数传递方式不同
- 改变this指向的时机不同(bind在复制时改变,其他两个在调用时改变)
- 参数传递时机不同
参数传递方式:
let f = f1.call(obj,1,1,1);
let t = f1.apply(obj,[1,1,1]);
let s = f1.bind(obj,1,1,1);
总结几句话:
参数传递方式:
let f = f1.call(obj,1,1,1);
let t = f1.apply(obj,[1,1,1]);
let s = f1.bind(obj,1,1,1);