Использование JSON.stringify для пользовательского класса
я пытаюсь сохранить объект в Redis, который является экземпляром класса и, следовательно, имеет функции, здесь 'Вот пример:
function myClass(){
this._attr = "foo";
this.getAttr = function(){
return this._attr;
}
}
Есть ли способ сохранить этот объект в Redis вместе с функциями? Я старалсяJSON.stringify()
но только свойства сохраняются. Как я могу сохранить определения функций и иметь возможность выполнять что-то вроде следующего:
var myObj = new myClass();
var stringObj = JSON.stringify(myObj);
// store in redis and retreive as stringObj again
var parsedObj = JSON.parse(stringObj);
console.log(myObj.getAttr()); //prints foo
console.log(parsedObj.getAttr()); // prints "Object has no method 'getAttr'"
Как я могу получитьfoo
при звонке?parsedObj.getAttr()
Заранее спасибо!
РЕДАКТИРОВАТЬ
Получил предложение изменить MyClass.prototype и сохранить значения, но что-то вроде этого (функции, отличные от setter / getter): I '
function myClass(){
this._attr = "foo";
this._accessCounts = 0;
this.getAttr = function(){
this._accessCounts++;
return this._attr;
}
this.getCount = function(){
return this._accessCounts;
}
}
Я пытаюсь проиллюстрировать функцию, которая вычисляет что-то вроде счетчика или среднего при каждом вызове, помимо выполнения других вещей.