json.stringify no procesa métodos de objeto

Estoy intentando desarrollar una aplicación HTML5 sin conexión que debería funcionar en la mayoría de los navegadores modernos (Chrome, Firefox, IE 9+, Safari, Opera). Dado que IndexedDB no es compatible con Safari (todavía), y WebSQL está en desuso, decidí usar localStorage para almacenar objetos JavaScript generados por el usuario yJSON.stringify()/JSON.parse() para poner o sacar los objetos. Sin embargo, me enteré de queJSON.stringify() No maneja los métodos. Aquí hay un objeto de ejemplo con un método simple:

    var myObject = {};
    myObject.foo = 'bar';
    myObject.someFunction = function () {/*code in this function*/}

Si encadeno este objeto (y luego lo pongo en localStorage), todo lo que se conservará esmyObject.foonomyObject.someFunction().

    //put object into localStorage
    localStorage.setItem('myObject',JSON.stringify(myObject));

    //pull it out of localStorage and set it to myObject
    myObject = localStorage.getItem('myObject');

    //undefined!
    myObject.someFunction

Estoy seguro de que muchos de ustedes probablemente ya conocen esta limitación / característica / como quieran llamarlo. La solución que he encontrado es crear un objeto con los métodos (myObject = new objectConstructor()), saque las propiedades del objeto de localStorage, y asignelas al nuevo objeto que creé. Siento que este es un enfoque indirecto, pero soy nuevo en el mundo de JavaScript, así es como lo resolví. Así que aquí está mi gran pregunta: me gustaría que todo el objeto (propiedades + métodos) se incluya en localStorage. ¿Cómo hago esto? Si puede mostrarme un mejor algoritmo, o tal vez otro método JSON que no conozca, se lo agradeceré.

Respuestas a la pregunta(2)

Su respuesta a la pregunta