Often is it very useful to have a bind() function.

Got this from one of Misko Hevery's talks on Javascript
(https://www.youtube.com/watch?v=ljNi8nS5TtQ) where he
pointed out the difficulty with using callbacks, functions,
objects, and "this" appropriately.  A common source of
errors in javascript is when "this" is not properly
bound, and your functions get called on the wrong
unintended objects, perhaps even on the global object!

The code is Misko's, the comments are mine.