Cryo - pickle for JavaScript (serialize functions, object references, etc.)
github.com
github.com
However, sometimes - especially for quick and dirty stuff - this sort of freezing can be super useful. Also, it can work exactly like extended JSON, as it will store 'undefined' and 'Infinity' and will correctly dereference objects back into the same object (instead of multiple copies of the same data), etc.