title: Set "this" variable easily?
body: <p>I have a pretty good understanding of Javascript, except that I can't figure out a nice way to set the "this" variable.  Consider:</p>
  
  <pre><code>var myFunction = function(){
      alert(this.foo_variable);
  }
  
  var someObj = document.body; //using body as example object
  someObj.foo_variable = "hi"; //set foo_variable so it alerts
  
  var old_fn = someObj.fn;   //store old value
  someObj.fn = myFunction;   //bind to someObj so "this" keyword works
  someObj.fn();              
  someObj.fn = old_fn;       //restore old value
  </code></pre>
  
  <p>Is there a way to do this without the last 4 lines?  It's rather annoying...  I've tried   binding an anonymous function, which I thought was beautiful and clever, but to no avail:</p>
  
  <pre><code>var myFunction = function(){
      alert(this.foo_variable);
  }
  
  var someObj = document.body;        //using body as example object
  someObj.foo_variable = "hi";        //set foo_variable so it alerts
  someObj.(function(){ fn(); })();    //fail.
  </code></pre>
  
  <p>Obviously, passing the variable into myFunction is an option... but that's not the point of this question.</p>
  
  <p>Thanks.</p>