Object.prototype.to_a = function() { return Array.prototype.slice.call(this); };
いろんなオブジェクトを配列へ変換するメソッド。
Array.prototype.slice と Function.prototype.call がミソ。
Array.prototype.slice は上記のドキュメントにあるとおり、引数に始点(と終点)のインデックスの値をとり、その範囲にある要素からなる配列をかえすメソッド。引数をどちらも省略すると0から-1までをコピーして返す。
Function.prototype.call は自身(Functionオブジェクト)を引数で受け取ったオブジェクトのメソッドとして実行する。
配列ではないけど、配列のようなオブジェクトというのはいろいろあって、たとえば NodeList などがそう。(というか、NodeListを配列にしたかった)
NodeList は document.getElementsByTagName などで得られる。
NodeList は item というメソッドをもっていて、引数を添字としてアクセスする(つまり配列のようなふるまいをする)。
ざっくばらんとまとめた。