javascriptの、call, apply, bind, arguments

http://www.slideshare.net/yuka2py/javascript-23768378
prototypeベースについては理解してるのでいいのだが、なんか覚えたと思ってもなんか忘れちゃうもののメモ。

this
  関数の所属しているオブジェクトのこと。
  関数呼び出し時に決定される。

(function{}).call (obj, argv1, argv2, argv3, ... );
(function{}).apply(obj, argumentList = [argv1, argv2, argv3, ...])
  objをthisとして、functionを実行する。
  引数の渡し方以外は、まったく同じ動作をする。

newFunction = (function{}).bind(obj)
  実行されたときのthisがobjに固定された状態で実行される、
  新たなfunctionオブジェクトを戻す。

arguments
  関数に渡された引数全てを含むリスト。