So we have the requestAnimationFrame, you pass a function and it called after a very specific while (irrelevant to the following).
Now lets see the basic structure:
function loop() { update() requestAnimationFrame(loop) } loop()
Ok now lets wrap the function and call it without calling it by name:
(function loop() { update() requestAnimationFrame(loop) })()
Is there any way to remove the name of function and still pass it? There is a magical object called arguments which appears out of nothing every time a function is executed. And the member that we need is arguments.callee which is self reference to the function being executed. So we get rid of the name:
(function () { update() requestAnimationFrame(arguments.callee) })()
And of course to maximize the coolness we put in a single line:
(function() { update(); requestAnimationFrame(arguments.callee) })()
Ok, this very cool, but is it worth it? Let's analyze what this code succeeds to do:
1. Confuses the next reader of the code.
2. Confuses also the 2nd reader.
3. Confuses also the 3rd reader.
...
N. Confuses also the N-th reader.
So you have to choose what is cooler: confusing no people or confusing up to infinite people? Comment below, like and subscribe.
done_