I already know that apply and call are similar functions which setthis (context of a function).
apply
call
this
The difference is with the way
I created this comparison between function objects, function calls, call/apply and bind a while ago:
call/apply
bind
.bind allows you to set the this value now while allowing you to execute the function in the future, because it returns a new function object.
.bind