【React】关于React中事件绑定使用bind而不使用call的解释

call(),apply(),bind()都用于改变 this 指向,但是之间也是存在区别的

  • 第一个参数都是指定函数内部中 this 的指向(函数执行时所在的作用域),然后根据指定的作用域,调用该函数。
  • 三者都可以在函数调用时传递参数,call(),bind()可以直接传入,而 apply()则需要以数组的形式传递参数。
  • call(),apply()在调用之后立即执行,而 bind()在调用之后则返回一个新函数,需要再次调用。

总结:

回归原题,React 中之所以事件绑定使用 bind 来改变 this 指向,是因为 call 和 apply 方法都是在调用之后立即执行,而 bind 方法则会返回原函数,需要再次调用执行。

posted @ 2020-04-16 14:25  [ABing]  阅读(376)  评论(0编辑  收藏  举报