¿Son las funciones válidas las claves para las propiedades de objeto javascript?

Me gustaría usar funciones como teclas en un objeto javascript. Los siguientes trabajos, al menos en Chrome:

var registry = {};
function Foo(){  };
function Bar(){  };
registry[Foo] = 42;
registry[Bar] = 43;
alert(registry[Foo] + " < " + registry[Bar]);

¿Está esto cubierto por la norma? ¿Por qué navegadores es compatible?

Respuestas a la pregunta(2)

Su respuesta a la pregunta