+ 2
You can access the function that is currently executing with `arguments.callee`, so you can do recursion that way.
However I think this doesn't work in strict mode and it might even be deprecated in newer js versions. So really you shouldn't recursively call anonymous functions and just give the function a name.
You can even make it work as an IIFE:
(function loop() {
loop();
})();