So, after some digging around...
It does not appear that there is any way in firefox to make this work without overriding built in methods.
However in chrome the following does work:
function foo() { console.log('yo'); };
console.log(foo.bind({}).toString()); // function () { [native code] }
console.log(foo.bind({})); // f foo () { console.log('yo') }
So while there is no way to get the original back out with a call .toString
, logging the function object directly to the console in chrome will yield a representation with the body of the original function.
Here is a link to the relevant section of the spec for Function.prototype.toString
courtesy of ste2425.