三者都是用来改变this指向的

区别

bind fn.bind(obj) 返回一个新的函数,未进行调用,返回fn
call fn.call(obj,arg1,arg2...arg) 传递参数为多个,直接调用返回fn()
apply fn.apply(obj,Array) 传递两个参数,第二个参数为数组,直接调用返回fn()

性能上,据一些大神研究。当参数较少时(三个一下),三者的性能差不多。当参数较多时,call的性能较好。

标签: none

添加新评论