¿Alguien podría explicar por qué los dos a continuación no son iguales? Básicamente estoy tratando de descubrir qué está sucediendo detrás de escena. Tengo entendido que ambos se refieren a la misma función, pero ese no parece ser el caso.Referencias de funciones - ¡Por favor, ilumínalo!
var foo = function bar() {}
typeof foo //"function"
typeof bar //"function"
foo === bar //false
foo == bar //false
¿Lo ejecutó en el orden en que lo vemos? –
Solo para su información, si desea que se refieran a la misma función, quiere algo como 'var foo = function() {}, bar = foo;' o 'function bar() {}; var foo = bar'. Entonces, si los comparas, serán iguales. – brymck
Debe estar utilizando IE8 o inferior. Es un error conocido en el que no solo se filtra 'barra' dentro del alcance de la variable envolvente, sino que se crea un objeto función único y se asigna a 'barra'. Es por eso que 'bar' es una función, pero' foo' no es igual a 'bar'. – user113716