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]);
上一篇下一篇

猜你喜欢

热点阅读