javascriptのfor文は{}を省略出来るようです。

もしかしたらほかの構文でもそうなのかもしれないけど!
何時になったらJSわかるんだろ。。はぁ。。
ttp://subtech.g.hatena.ne.jp/cho45/20090115/1232016840
ttp://d.hatena.ne.jp/amachang/20090119/1232331329
リンクすることすら恥ずかしい。まぁ、気付きもしないだろうけどwww。
JS楽しい。

var a = ["a", "b", "c"];
for (var i = 0, len = a.length; i < len; i++) (function (item, index) {
	print([item, index])
})(a[i], i);

これがわからん。
IT戦記さんの例で分解してみる。

<ul>
 <li>hoge</li>
 <li>fuga</li>
 <li>piyo</li>
</ul>

<script>
var list = document.getElementsByTagName('li');
var cou = 0;//カウンタ

//例をめんどくさいのでカウンタのalertに変更。
for (var i = 0, len = list.length; i < len; i++) (function(node, i) {
    alert(cou++);
})(list[i], i)
//=>表示:0,1,2とダイアログ liは3つなので3回まわる。

//中身に名前をつけて外だし
hoge = function(arg1,arg2) {
    alert(cou++);
};
//hoge('dummy1','dummy2');//ちなみにこれで実行できる couをダイアログ

//例はこうなる。同じ動き
for (var i = 0, len = list.length; i < len; i++) hoge(list[i],i)
//無名関数がないので括弧が一個消えた。

//{}がないからキモいのだ。
for (var i = 0, len = list.length; i < len; i++){hoge(list[i],i);}

//わかったこと
//例はfor(;;) hoge()という形式だった
//for文は{}は省略可のようだ。

//{}がないからわからなかったようです。
for (var i = 0, len = list.length; i < len; i++) {(function(node, i) {
        alert(cou++);
})(list[i], i);
}
//だがうつくしくないですね。最後の}を忘れそうです。
//なれないと!
</script>

JS楽しい。