title: Is it possible to make a function self aware without external input
body: <p><strong>Background</strong></p>
  
  <p>I want a function keeping track of its own state:</p>
  
  <pre><code>var myObject = {
  
      myFunction: function () {
  
          var myself = this.myFunction;
          var firstTime = Boolean(!myself.lastRetry);
  
          if (firstTime) {
  
              myself.lastRetry = Date.now();
              return true;
          }
  
          // some more code
  
      }
  }
  </code></pre>
  
  <p>The problem with the above code is that the value of <code>this</code> will depend on the site of the function call. I want the function to be able to refer to itself without using:</p>
  
  <ul>
  <li><code>myObject.myFunction</code></li>
  <li><code>.bind()</code></li>
  <li><code>.apply()</code></li>
  <li><code>.call()</code></li>
  </ul>
  
  <p><strong>Question</strong></p>
  
  <p>Is it possible to give a function this kind of self awareness independent of its call site and without any help from external references to it?</p>