JavaScriptにおいて関数というのはFunctionオブジェクトで、他のビルトインオブジェクトと同様に、組み込みのメソッドがある。これがapplyとcallしかないのだけれど、こんな感じに使う。 func.apply(thisObj,arguments) func.call(thisObj,arg1,arg2,arg3) thisObjには、その関数内で「this」として使うオブジェクトを指定する。applyの第二引数はargumentsオブジェクトを指定する。配列か、現在実行中の関数のargumentsオブジェクトを丸ごと別の関数に引き渡せる。つまり引数の長さが良くわかってなくても使える。 callは代わりに func.apply(thisObj,[arg1,arg2,arg3]) と書けるので、実はいらないんじゃないかと思う。 これらは多分、ふつうにJavaScriptを書く上で