【发布时间】:2012-11-15 09:46:36
【问题描述】:
我正在尝试在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'"
拨打parsedObj.getAttr()时如何获得foo?
提前谢谢你!
编辑
有人建议修改 MyClass.prototype 并存储值,但是像这样的东西呢(除了 setter/getter 之外的函数):
function myClass(){
this._attr = "foo";
this._accessCounts = 0;
this.getAttr = function(){
this._accessCounts++;
return this._attr;
}
this.getCount = function(){
return this._accessCounts;
}
}
我试图说明一个函数,该函数在调用时计算诸如计数或平均值之类的东西,除了做其他事情。
【问题讨论】:
标签: javascript json node.js