(function(n) {
if (n > 1)
return n * arguments.callee(n-1);
else
return 1;
})(5);
Which is the same as the following written in a more traditional way:
function fact(n) {
if (n > 1)
return n * fact(n-1);
else
return 1;
}
fact(5);
