console.log statement differs when I execute it inside the function and outside the function

89 views Asked by At
function func(){
  var name
  console.log(name)
  name="pavan"
  console.log(name)
}

func()

When I run the above code it gives me the output undefined pavan.


var name
console.log(name)
name="pavan"
console.log(name)

When I run this modified code it's logging pavan pavan.

What's the difference?

1

There are 1 answers

0
Lesiak On

The problem is that you are reusing same variable names when running your experiments.

Consider:

var name;
name = 'pavan'
var name;
console.log(name); // prints pavan

If you use different variable names in both snippets, you will get expected output:

var name1;
console.log(name1);  // prints undefined
name1="pavan";
console.log(name1);  // prints pavan

Also note that name is a property of Window object. See Window: name property