Basically, the Execution context has two pahses:1) Creation phase and 2) Execution phase
1) Creation phase :
For Each Function(function Declaration) property is created in the variable object, which is pointing to that function.
For each variable(Variable Declaration) property is created in the variable Object, Which is then set to
Arguments Objects are created that were passed into the function
In other words this process is also called Hoisting.
2) Execution phase:
Current Execution context run line by line.