Сериализация JavaScript и методы

Я новичок в "объектно-ориентированном" JavaScript. В настоящее время у меня есть объект, который мне нужно передать по страницам. Мой объект определяется следующим образом:

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

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

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

На странице 1 моего приложения я создаю экземпляр MyObject. Затем я сериализую объект и храню его в локальном хранилище. Я делаю это, как показано здесь:

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

Теперь на странице 2 мне нужно получить этот объект и поработать с ним. Чтобы получить его, я использую следующее:

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.

Исходя из результатов, похоже, что когда я сериализовал объект, функции как-то отбрасываются. Я все еще могу видеть свойства. Но я не могу взаимодействовать ни с одной из своих функций. Что я делаю неправильно?

Ответы на вопрос(5)

Ваш ответ на вопрос