Is JavaScript:
- Synchronous or Asynchronous?
 - Single-threaded or Multi-threaded?
 
- Everything in JavaScript happens inside an Execution Context
- You can assume this execution context to be a big box or a container in which the whole JavaScript code is executed.
 
 - This big box has two components in it: