Surpris que la variable globale a pas défini la valeur en JavaScript

Aujourd'hui, je suis totalement surpris quand j'ai vu qu'une variable globale a undefined valeur dans certains cas.

Exemple:

var value = 10;
function test() {
    //A
    console.log(value);
    var value = 20;

    //B
    console.log(value);
}
test();

Donne en sortie

undefined
20

Ici, pourquoi est le moteur JavaScript, compte tenu de valeur mondiales comme undefined. Je sais que le JavaScript est un langage interprété. Comment est-il en mesure de considérer des variables dans la fonction?

Est qu'un piège à partir du moteur JavaScript?

InformationsquelleAutor iamjustcoder | 2012-01-31