E' possibile cambiare lo scope di una funzione in modo che lo stesso della funzione che la eseguirà?
Esempio:
codice:
    var doSomething=function(){
        alert(x);
    }
    
   function Test(){
        var x=10;
        Test.prototype.method=doSomething;
    };
	
    var t=new Test();
    t.method() //mi aspetto alert(10) ma ovviamente mi da errore "x is not defined"
In pratica vorrei che lo scope di "doSomething" fosse quello interno di Test, e che quindi la variabile x sia quella privata di Test.
L'unica soluzione che funziona(per modo di dire perchè non va su IE) è di utilizzare eval.

In teoria lo scope di "doSomething" è una "catena" di due oggetti scope, prima quello interno di doSomething e poi quello globale,io vorrei aggiungiure fra i due un altro anello, ossia lo scope interno di Test.
E' possibile tutto ciò?