$A $A という関数を使うと、Array もどきオブジェクト(NodeList や Arguments など)を Array オブジェクト化することができる。便利だが、この関数を Enumerable インタフェースを実装するために使用するのは、あきらかにおかしい。 そこで、以下のようなものを定義してみる。 var $E = Enumerable.from = function(iterable) { iterable._each = Array.prototype._each; Object.extend(iterable, Enumerable); return iterable; };これを、 $A(〜).each とかしてるところに使う。 $E(〜).each こうする。 $E の実行速度は $A の 7 〜 4 倍です。 with(Element) effects.js の w