神奇的bind

09 July 2013

1.bind是什么

bind是这个Function.protype.bind,也就是每个function实例都能用的方法属性。

bind的具体作用就是返回一个新的function,并指定新function的this引用

2.与call,apply区别

初看好像有点一样,那就是都能改变function的this引用,但是还是有区别的

call,apply在改变this的同时会立即执行function,而bind只是仅仅返回一个新的function,并不会立即执行, 对于执行效果,可以看下面的例子:

3.bind的一些应用

在curry上面的应用

在setTimeout,setInterval中的应用

在function简化中的应用

4.参考

mdn上关于bind更专业的介绍

5.兼容性

Feature Firefox (Gecko) Chrome Internet Explorer Opera Safari
Basic support 4.0 (2) 7 9 11.60 5.1.4

tags:    js   
回到首页