What's happening here? I get a different result if I declare a variable after console.log in the inner function
I understand that var has a functional scope and inner function can access the variable from their parent
function outer() {
  var a = 2;
  function inner() {
    a++;
    console.log(a) //log NaN
    var a = 8
  }
  inner()
}
outer()function outer() {
  var a = 2;
  function inner() {
    a++;
    console.log(a) //log 3
    var b = 8
  }
  inner()
}
outer()The log returns NaN in the first example and log 3 in the second example
 
     
     
     
     
     
    