「JavaScriptではネイティブのfor文を使わない方がいいよ!」と教えてもらいました。 ネイティブのforの代わりに、Array.forEachか、Underscore.jsにあるベンリな関数を使おう、とのことでした。そうすればスコープを限定できるから、というのが理由だったと思います。 組込みの繰り返し構文の使用が非推奨の言語なんて、初めて聞いたのでびっくりです。 というわけで、for inやArrays.forEachを試していたところ、モヤモヤと分からないことがあるのでメモします。 (追記)解決編を書きました。http://d.hatena.ne.jp/torazuka/20130304/for 配列の反復には、for inもArray.forEachも使える(の? for in var foo = {}; var hoge = [1, 3, 5]; for(var n in h