Those would be really useful if it weren't that ECMAScript 5 did away with caller and callee so that none of the versions you listed will work if your script uses "use strict". Do you have any thoughts on how to do it now that those commands no longer exist?
Running your code produces the following error at the point where it tries to access the now invalid callee property.
Uncaught exception: TypeError: Illegal property access
Error thrown at line 14, column 2 in _args() in file://localhost/testjs.htm:
called from line 41, column 1 in testArgs() in file://localhost/testjs.htm:
called from line 43, column 0 in file://localhost/testjs.htm:
Helping others to solve their computer problem at http://www.felgall.com/