title: Why inner functions are called before outer functions?
body: <p>In the code example below the output will be <code>3 2 1</code>. Why not <code>1 2 3</code>? Doesn't an opening parentheses symbol <code>(</code> in <code>a1(</code> call indicate that this function must be invoked first? And all stuff inside parentheses, i.e. <code>a2(a3(50))</code> must go as a <code>number</code> parameter to <code>function a1</code> ?</p>
  
  <pre><code>function a1(number) {
    console.log("1");
    return number;
  }
  
  function a2(number) {
    console.log("2");
    return number;
  }
  
  function a3(number) {
    console.log("3");
    return number;
  }
  
  a1(a2(a3(50)));
  </code></pre>