Function::apply and call
JSのapplyってずっとよくわかってなかったので調べてみた。
schemeの(apply )と同じようなもんと考えて納得。
あるオブジェクトの関数を別のオブジェクトに適用する。
"hoge".slice() //=> "hoge" [].slice.apply("hoge") // => ["h", "o", "g", "e"]
似たメソッドでcallがあるが、引数の取り方が異なる。
Array.prototype.slice.apply("hoge", [3,4]) Array.prototype.slice.call("hoge", 3, 4)
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/function/apply
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call