I used to have an article here showing how to dynamically create functions with true names. Except it didn't work properly on Firefox and there's a much better way (which does work properly on Firefox) described in this article by Marcos Cáceres. It looks like this:
var name = "foo";
var func = new Function(
"return function " + name + "(){ alert('sweet!')}"
)();
Yes, the Function
constructor is basically a call to eval
, so you'd only do this with input you control well. But when you need to do it, this is how.
Nice one, Marcos!
Is this really possible? I've never tried this one! Click here
ReplyDelete