The most difficult thing in JavaScript is understanding how things are collaborating in order to provide interactivity.
The execution context is equivalent to a workspace. Whenever JS runs some code, it creates a workspace to contain everything it needs to do it successfully. That workspace has the variables, the functions, the this and information on where to continue working.
Creating contexts
There are two ways to create this workspace:
When a program starts (Global execution context)






