Я хотел бы использовать функции как ключи в объекте javascript. Следующие работы, по крайней мере в Хром:Являются ли функции действительными ключами для свойств объекта javascript?
var registry = {};
function Foo(){ };
function Bar(){ };
registry[Foo] = 42;
registry[Bar] = 43;
alert(registry[Foo] + " < " + registry[Bar]);
Это покрывается стандартом? По каким браузерам он поддерживается?
Ну, работал в Chrome. Так что это может сработать в Safari и Firefox –
Я думаю, что это похоже на то, что вы предупреждаете о функции, так как двигатель анализирует ее как строку, потому что она разрешима ... Но я сказал, что это не очень хорошая идея, как строка сама до этого (возможно, так мне интересно) – Sebas
Ключи любого типа объекта словарного класса должны иметь четко определенную операцию. Такая операция не может быть определена для функций (http://en.wikipedia.org/wiki/Rice%27s_theorem). –