Análisis: presencia var y funciones anónimas la ejecución del código de elevación variable se levantaron a la parte superior de las siguientes funciones;
getName=function(){
console.log(5)}
Función se ejecuta
método Foo getName de realizar una salida;
Foo.getName()// 2;
Var es realizado getNombre = ... funcionará para mejorar la cobertura;
getName()// 4
Después de realizar la función y la cubierta getName Foo, a continuación, llamar a la función getName, entonces el getName llamada de función;
Foo().getName()// 1
función getName () Realización es una función paso se realiza en el caso;
Esta función realiza la misma inspección de precedencia del operador , pero esta vez el nuevo new Foo () se ejecuta ejemplo instancia de Foo Foo, porque no existe un método getName, se encuentra el prototipo para crear prototipos;
newFoo().getName()// => (new Foo()).getName() 输出 3