I was impressed! Вроде бы все понятно и давно известно, но в голову не приходило.
Взято из Secrets of JavaScript ninja by John Resig
var store = {
id: 1,
cache: {},
add: function( fn ) {
if ( !fn.uuid ) {
fn.uuid = store.id++;
return !!(store.cache[fn.uuid] = fn);
}
}
};
function ninja(){}
assert( store.add( ninja ), "Function was safely added." );
assert( !store.add( ninja ), "But it was only added once." );
Взято из Secrets of JavaScript ninja by John Resig
