title: why the result is NaN?
body: <pre><code>var a = 10;
  sayHi();
  function sayHi()
  {
  var a = a + 10;
  alert(a);
  return a;
  }
  alert(a);
  alert(sayHi()+10);
  </code></pre>
  
  <p>why the above result is not 20 and 30? i feel the first is 20 , then 30. </p>