You can use function.call.
new function Outer(){
'use strict';
console.log(this);
(function(){ // This function could be a 3rd Party function
console.log(this); //<-- Now it will it the one from the outer scope
}).call(this);
}; // You don't need to invoke this explicitly here with () since you are invoking it already with new keyword so constructor invocation doesnt need ()
Or a best bet would be to cache the context outside and use it anywhere in the inner scope.
new function Outer(){
'use strict';
var self = this;
console.log(this);
(function(){ // This function could be a 3rd Party function
console.log(self); //<-- Now it will it the one from the outer scope
})();
};