As I understand it, arguments.callee
not expired in strict mode, in which case you can continue to use it; rather, it was deleted and an attempt to use will (or should) throw an exception.
The workaround is to use anonymous functions if you forgive the oxymoron. Actually, I have to say "named function expressions" . Example:
function someFunc(){ return function funcExpressionName(args){ if (this instanceof funcExpressionName) {
The name you specify in my example funcExpressionName
should not be accessible from anywhere except inside the function to which it is applied, but unfortunately IE has other ideas (as you can see if you are Google ).
For example, in your question, I'm not sure how to handle args.callee
, since I do not know how this is set by the calling function, but using arguments.callee
will be replaced according to my example.
nnnnnn
source share