title: what is actually going on when reversing a string using recursion
body: <p>I'm relatively new to Javascript. I understand recursion conceptually and see its value. However, i find myself a little confused about what actually happens. I know this isn't the easiest way to reverse a string. But i'm using it as an easy example </p>
  
  <pre><code>function reverse(str){
  if (str === ""){ 
     return ""; 
     } else { 
         return reverse(str.substr(1)) + str.charAt(0); 
      } 
    } 
  </code></pre>
  
  <p>So hows does a string like "hello" become "olleh" when the code is telling us to recursively place the first character at the very end of the string as in (elloh)? Hope my question makes sense. Thanks in advance </p>