prototype.js があるページで Array に対して for-in してはいけない
結果だけみればあたりまえ過ぎて恥ずかしいんだけど、今日 Opera の user.js(FireFoxでいうグリモン)書いててハマったのでメモ。
javascript:(function(){var a=['a','b','c'];for(var i in a){alert(i+':'+a[i])}})()
はてなのページなんかで実行してみると prototype.js による Array の拡張もループの対象になります。
おとなしく以下のように書きましょう。
javascript:(function(){var a=['a','b','c'];for(var i=0;i<a.length;i++){alert(i+':'+a[i])}})()