¿Cómo determina DevTools el nombre del constructor de un objeto?

Estoy usando Chrome v22.0.1229.94 m, no es que importe, pero por si acaso :-)

La portabilidad no me importa. Mientras funcione con Chrome (y Safari) estoy feliz.

Tengo dos funciones, foo y bar:

var foo = function() {
  ...
}
function bar() {
  ...
}

Entonces si creo objetos usándolos:

f1 = new foo();
b1 = new bar();

Puedo obtener el nombre del constructor para bar, pero tampoco para foo:

> f1.constructor.name  ==> ""
> b1.constructor.name  ==> "bar"

sin embargo, en ambos casos, la consola de DevTools mostrará los nombres "foo" y "bar" cuando inspeccione las variablesf1 yb1.

¿Cómo extraigo elnombre foo paraf1 Como DevTools puede?

Respuestas a la pregunta(2)

Su respuesta a la pregunta