Randomly this is "context" not scope. You can figure out which "context" a function runs in typically by what object your calling it from:

```js
var x = {};
var y = {};

function whoIamI() { return this; }

// assignment not calls
x.whoAmI = whoAmI;
y.whoAmI = whoAmI;

x.whoAmI() === x; // => true
y.whoAmI() === y; // => true
```
Other ways to manipulate context are: bind, call, apply (see mdn)