Functionオブジェクトにおけるapplyとcall

jQueryの1.2.6を読んでいて、1.2.3ではapplyメソッドで実行されていた巻数がcallメソッドに変更されている場所に気づく。

こちらバーション1.2.3

this.options.step.apply( this.elem, [ this.now, this ] );

こっちがバージョン1.2.6

this.options.step.call( this.elem, this.now, this );

挙動に変化はないわけだから、こっちの方が速いんだろうなあ、と思った。なんでだろ、と思ったけど、applyを使うと配列を一つ生成しているわけだからそっちの方が遅くなるからなんだな。確かにそりゃそうか。当たり前だけど、あんまり考えたことなかった。引数の数が決まっているものは、callを使おう。