Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我浏览了 MDN 文档,但我并没有真正理解 call() 和 bind() 之间的区别。他们似乎都在做同样的事情——改变this函数内部的上下文。那么它们之间究竟有什么区别呢?什么时候应该使用?
this
call实际上调用具有指定上下文的函数,同时bind返回一个新函数,该函数在调用时将使用指定的上下文。一个使用的例子bind是设置一个事件监听器,通常上下文会被设置为触发事件的对象。您可以使用 bind 创建一个使用您自己的上下文的函数并将其作为侦听器函数传递。
call
bind