@zietaphon: The function inside () and with () right after it is called "self executable function". Straightforward, isn't it?
@charlesmcnulty: The thing about setInterval is tries to execute itself even if the JS is executing another block of code. Then it starts to queue, and finally when you have the code executed, it will do one right after the other, without any time between then. And the only way to stop setInterval from queuing is by using clearInterval.
That's why it's better to use setTimeout() calling itself. it will only execute once if JS is busy and you guarantee that the next one will wait the defined amount of time before executing.
Even more about JS timers:
http://ejohn.org/blog/how-javascript-timers-work/Cheers
Wolff