Javascript 为什么使用Function.prototype.bind而不是Function.prototype.call?

Javascript 为什么使用Function.prototype.bind而不是Function.prototype.call?,javascript,Javascript,我的理解是,当我使用call方法并提供thisArg时,函数中的this值设置为我传入的对象 myFunction.call(thisArg, arg1, arg2 ...) 另一方面,bind方法返回一个新函数,新函数的this上下文设置为我传入的对象 myFunction.call(thisArg, arg1, arg2 ...) 但我不明白的是为什么使用bind而不是调用。如果我只想更改此的上下文,那么调用对我来说就足够了。那么为什么在IE8及以下浏览器中使用bind呢 那么,什么时候

我的理解是,当我使用
call
方法并提供
thisArg
时,函数中的
this
值设置为我传入的对象

myFunction.call(thisArg, arg1, arg2 ...)
另一方面,
bind
方法返回一个新函数,新函数的
this
上下文设置为我传入的对象

myFunction.call(thisArg, arg1, arg2 ...)
但我不明白的是为什么使用
bind
而不是
调用
。如果我只想更改
的上下文,那么
调用对我来说就足够了。那么为什么在IE8及以下浏览器中使用bind呢

那么,什么时候使用
bind
call
更好呢

什么时候使用
bind
call
更好

回调

如果您需要确保在特定对象的上下文中调用函数,但无法控制函数的调用方式(例如当您将函数作为参数传递给回调时),则可以使用
bind

myFunction.bind(thisArg, arg1, arg2 ...)

当您想将绑定函数传递给其他对象时。我非常不理解,但基于您的示例创建此函数有助于我理清思路。谢谢