相关疑难解决方法(0)

在自定义类上使用JSON.stringify

我正在尝试将对象存储在redis中,这是一个类的实例,因此具有函数,这是一个示例:

function myClass(){
    this._attr = "foo";
    this.getAttr = function(){
        return this._attr;
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法将这个对象与函数一起存储在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'"
Run Code Online (Sandbox Code Playgroud)

我怎么才能foo打电话parsedObj.getAttr()

先感谢您!

编辑

有建议修改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;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图说明一个函数,除了做其他的东西之外,它会在调用时计算类似计数或平均值的函数.

javascript json node.js

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

javascript ×1

json ×1

node.js ×1