JavaScript serialização e métodos
Sou novo no JavaScript "orientado a objetos". Atualmente, tenho um objeto que preciso passar por páginas. Meu objeto é definido da seguinte maneira:
function MyObject() { this.init(); }
MyObject.prototype = {
property1: "",
property2: "",
init: function () {
this.property1 = "First";
this.property2 = "Second";
},
test: function() {
alert("Executing test!");
}
}
Na página 1 do meu aplicativo, estou criando uma instância do MyObject. Em seguida, estou serializando o objeto e armazenando-o no armazenamento local. Estou fazendo isso como mostrado aqui:
var mo = new MyObject();
mo.test(); // This works
window.localStorage.setItem("myObject", JSON.stringify(mo));
Agora, na página 2, preciso pegar esse objeto e trabalhar com ele. Para recuperá-lo, estou usando o seguinte:
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.
Com base nas saídas, parece que quando serializei o objeto, de alguma forma as funções foram descartadas. Ainda posso ver as propriedades. Mas não consigo interagir com nenhuma das minhas funções. O que estou fazendo de errado