У меня есть много объектов JavaScript в моем приложении, что-то вроде:
function Person(age) {
this.age = age;
this.isOld = function (){
return this.age > 60;
}
}
// before serialize, ok
var p1 = new Person(77);
alert("Is old: " + p1.isOld());
// after, got error Object #<Object> has no method 'isOld'
var serialize = JSON.stringify(p1);
var _p1 = JSON.parse(serialize);
alert("Is old: " + _p1.isOld());
Смотрите в JS Fiddle.
Мой вопрос: есть ли лучший метод/шаблон/совет для восстановления моего объекта в том же типе, который был до сериализации (в данном случае экземпляры класса Person)?
Требования, которые у меня есть:
- Оптимизируйте использование диска: у меня есть большое дерево объектов в памяти. Итак, я не хочу хранить функции.
- Решение может использовать jQuery и другую библиотеку для сериализации/десериализации.