参考菜鸟教程:JavaScript 中 call()、apply()、bind() 的用法
个人感觉写的还不错,不懂得可以上手敲敲就明白了。
除菜鸟教程写的意外还有一点需要注意的:
call和apply是立即执行,bind等到事件触发才会执行;例如:
div.onmousedown.bind(this): 等到div有鼠标点击时才会改变this指向,如果换成call和apply,不管鼠标有没有点击都会执行改变this指向。
经常会忘记怎么使用,所以附上使用方法:
改变this指向:
改变this指向和传递参数:
上面第四中传参是错误的,bind和call传参格式一样,只是bind后面多个括号,返回的是一个函数。