Can Javascript do this
<p>make this:</p>

<pre><code>/*this can't run*/
var o = {first:1};
function f(arg,o){
   /*
    can i do something make this function's this=o
   */
   alert(arg+this.first);
}
f(2,o);
</code></pre>

<p>equal this:</p>

<pre><code>var o = {
  first:1,
  f:function(arg){
    alert(arg+first);
  }
}
o.f(2);
</code></pre>

<p>and I know we can use this:</p>

<pre><code>f.apply(o,1);
</code></pre>

<p>but I want to handle all things in f:</p>

<pre><code>function f(arg,o){
    /*magic*/
    alert(arg+this.first);
}
</code></pre>
