Serialización y métodos de JavaScript

Soy nuevo en JavaScript "orientado a objetos". Actualmente, tengo un objeto que necesito pasar a través de las páginas. Mi objeto se define de la siguiente manera:

function MyObject() { this.init(); }
MyObject.prototype = {
    property1: "",
    property2: "",

    init: function () {
        this.property1 = "First";
        this.property2 = "Second";
    },

    test: function() {
      alert("Executing test!");
    }
}

En la página 1 de mi aplicación, estoy creando una instancia de MyObject. Luego estoy serializando el objeto y almacenándolo en el almacenamiento local. Estoy haciendo esto como se muestra aquí:

var mo = new MyObject();
mo.test();                                    // This works
window.localStorage.setItem("myObject", JSON.stringify(mo));

Ahora, en la página 2, necesito obtener ese objeto y trabajar con él. Para recuperarlo, estoy usando lo siguiente:

var mo = window.localStorage.getItem("myObject");
mo = JSON.parse(mo);
alert(mo.property1);    // This shows "First" as expected.
mo.test();              // This does not work. In fact, I get a "TypeError"  that says "undefined method" in the consol window.

Basado en las salidas, parece que cuando serialicé el objeto, de alguna manera las funciones se descartaron. Todavía puedo ver las propiedades. Pero no puedo interactuar con ninguna de mis funciones. ¿Qué estoy haciendo mal

Respuestas a la pregunta(10)

Su respuesta a la pregunta