bind、call、apply的区别

call 和apply 是我们比较熟知的,这里就不做介绍了。 对于bind我们发现javascript 1.8.5 版本中原生js实现了此方法。

bind 的作用和call、applay类似,都是用于改变this关键字指向。但是它们又略有不同,一个函数进行bind后可以稍后执行,但是call 和apply 会立即执行。

eg:

window.a = 'window'
this.a = '哈',
window.setTimeout(function(){
console.log(this.a);
}.bind(this),3000)

此时输出结果是3s后输出‘哈’。 如何将bind改为call或apply,则立刻输出‘哈’。
posted @ 2017-04-05 17:47  雪儿_1990  阅读(128)  评论(0编辑  收藏  举报