call、apply、bind的区别
2018-12-17 本文已影响0人
Victor_818
相同点:都是改变this的指向,把this作为第一个参数传进去
xxx.fn.call(this);
xxx.fn.apply(this);
xxx.fn.bind(this)();
// 把xxx函数中的this改为当前的this
不同点:
1、call和apply是对函数的直接调用,bind返回的还是一个函数;
2、apply第二个参数可以传一个数组,而call必须用逗号隔开
xxx.fn.call(this,arg1,arg2,arg3);
xxx.fn.apply(this,[arg1,arg2,arg3]);