让前端飞Web 前端开发

call apply bind 使用小结

2016-11-26  本文已影响77人  Tiny_z

前段时间,写一个小例子的时候,遇到了this的一些坑。后来使用call apply bind去解决了下,在此总结下,加深理解
先解释下这三个函数的作用都是为了改变某个函数运行时候的上下文(内部this指向)
区别:

我们通常在一些绑定事件(click,mousemove等),一般这个时候this会指向当前这个dom元素,这个时候如果我们需要修正this的指向,这里就可以使用bind(这里使用bind是因为,bind绑定的时候,并不会马上执行被绑定的函数,而是返回一个新的函数,供后面调用的时候使用。apply和call绑定后就会马上执行了)
如果需要在bing绑定的时候马上执行,可以使用下面这种写法:

function a(){//do somethind}.bind(someObj)();

参考资料:

深入浅出妙用 Javascript 中 apply、call、bind
MDN

上一篇 下一篇

猜你喜欢

热点阅读