In JavaScript, where functions are objects and aren’t declared as part of anything, the object referenced by this is called the function context and is determined by how the function is invoked not by how its declared.
This means that the same function can have different contexts depending on which object calls it.