Functions all share three methods - call( ), apply( ), and bind( ).
These methods let you call functions while letting you specify the context for calling the function. This lets you define what the "this" keyword will represent.
call( ) and apply( ) let you pass in parameters to the functions when you call them too.
bind( ) will let you set the context, pass in parameters, and return a copy of the function with the context and those values saved to be used later.
Code GIST: https://gist.github.com/prof3ssorSt3v...