//a, b, and c come from the outer function arguments.
//d come from the outer function variable declarations.
this points to the global object, wich is window for all browers.
this points to object before the dot, someObject in this case.
this points to an empty Object.
this points to the object passed as first argument.