title: Arguments.callee is deprecated - what should be used instead?
body: <p>For doing things like </p>
  
  <pre><code>setTimeout(function () {
      ...
      setTimeout(arguments.callee, 100);
  }, 100);
  </code></pre>
  
  <p>I need something like <code>arguments.callee</code>. I found <a href="http://javascript.info/tutorial/arguments#arguments-callee" rel="noreferrer">information at javascript.info</a> that <code>arguments.callee</code> is deprecated:</p>
  
  <blockquote>
    <p><strong>This property is deprecated</strong> by ECMA-262 in favor of named function
    expressions and for better performance.</p>
  </blockquote>
  
  <p><strong>But what should be then used instead?</strong> Something like this?</p>
  
  <pre><code>setTimeout(function myhandler() {
      ...
      setTimeout(myhandler, 100);
  }, 100);
  // has a big advantage that myhandler cannot be seen here!!! 
  // so it doesn't spoil namespace
  </code></pre>
  
  <p>BTW, is <code>arguments.callee</code> cross-browser compatible?</p>