Skip to content Skip to sidebar Skip to footer

Why Is Global Variable Not Accessible Even If Local Variable Is Defined Later In Code

why does the following code segment generate the following output? code segment: var a = 10; function(){ console.log(a); var a = 5; } output: undefined

Solution 1:

Because variable is hoisted at top and in your function you have declared the variable var a = 5 which is same as following:

var a = 10;
function(){
    var a; // a = undefinedconsole.log(a);//a is not defined so outputs undefined
    a = 5;
    console.log(a);//a is now 5 so outputs 5
}

And in your function scope var is being declared it doesn't see global variable but local variable i.e. var a and which is undefined.

Post a Comment for "Why Is Global Variable Not Accessible Even If Local Variable Is Defined Later In Code"