тебе не кажется что эта реализация раз в 100 круче быстрее и проще?
function hash (value) {
var index = hash.objects.indexOf(value);
if (index === -1) {
index = hash.objects.push(value) - 1;
}
return '_hash:' + index
}
hash.objects = [];
var map = {};
var key = {};
map[hash(key)] = 5;
alert( map[hash(key)] );