In a regular object, this inside a method is pointing to the object itself; in a function call, this is pointing to the caller, sometimes, the Window object if it is called globally. I have no problem with those.  What I don't understand is the code snippet below:
function test(){
  function method(){console.log(this);}
  method();
}
test()
Since JavaScript function is also an object, I would expect this inside method function should point to the caller which is test object.  However, it is pointed to Window object.  Why is that?  Can someone help me get a consistent understanding about this magic word this?  Thank you!
