Most browsers (Chrome, Safari, Firefox, possibly others) return the definition of functions from the .toString()
method:
> function foo() { return 42; }
> foo.toString()
"function foo() { return 42; }"
Just be careful because native functions won't serialize properly. For example:
> alert.toString()
"function alert() { [native code] }"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…