title: Did Javascript execution context always have two phases (creation and execution)?
body: <p>In JavaScript Understanding the Weird Parts ,the genesis of a particular execution context was explained in reference to two phases:</p>
  
  <ol>
  <li>Creation phase - declarations are prioritized and initialized with undefined values </li>
  <li>Execution phase - where assignments are resolved</li>
  </ol>
  
  <p>In <a href="https://stackoverflow.com/questions/15005098/why-does-javascript-hoist-variables/15014769#15014769">this answer</a> to a related question, the author refers to the interpreter making two passes on the source code. </p>
  
  <p>Has this always been a feature of JS or is it more recent phenomenon related to more modern JS engines which act as JIT compilers?  </p>