>>461-465
1. function f() { setTimeout(f, 5000); }
2. setTimeout(f, 5000);

まず、2の実行では、setTimeout()は実行されるけど、f()はまだ実行されない。
つまり、キューに、fが積まれるだけ

次に5秒後、キューからfが削除されて、1が実行される。
その時に、setTimeout()で、またキューに、fが積まれる

つまり、キューには常に、fが1個しか積まれていない

>>468
わかりにくいから、そんなカンマの使い方をしない方が良い。
勘違い・バグを誘発する

普通に、; で文を区切るべき