override-variable in javascript-Funktion

Erstens möchte ich sagen, dass ich war auf der Suche einige Informationen über den Geltungsbereich von Variablen in javascript (e.g Was ist der Gültigkeitsbereich von Variablen in JavaScript?) und ich habe versucht zu verstehen, warum mein code verhält sich wie, aber ich weiß es wirklich nicht. Ich kann nicht außer Kraft gesetzt var a in meiner Funktion in der Funktion, ich kann Sie nur mit a = 6; ohne var. Warum ist undefiniert, vor der if-Anweisung und das überschreiben dieser Variablen ? Warum gibt es kein Ergebnis wie dieses:

5

gleich 5
gleich 6

Ich habe so etwas wie dies:

undefined

nicht gleich 5
gleich 6

Hier ist mein code:

    var a = 5;

function something(){
    console.log(a);
    if(a == 5){
        console.log('equal 5')
    }
    else{
        console.log('not equal 5');
    }    
   var a = 6;

    function test(){
        if(a == 6){
        console.log('equal 6');
    }
    else{
        console.log('not equal 6')
    }
    }    
    test();    
}
something();

InformationsquelleAutor elevenMinutes | 2014-03-12

Schreibe einen Kommentar