var a = 10;
function ejemploHoist(){
console.log(a);
var a=1337;
}
ejemploHoist();
Las declaraciones de funciones y de variables siempre son movidas (hoist) hasta el tope de su scope.
function ejemploHoist(){
var a; // a = undefined;
console.log(a);
a=1337;
}