可能重复:
将 json 数据转换为附加方法的对象的最简单方法?
在 javascript 中将普通对象转换为函数实例(“类”)
我有一个对象如下:
var Person = function(name, age) {
this.name = name,
this.age = age;
}
Person.prototype.talk = function(message) {
console.log(message);
}
我创建对象如下:
var person = new Person("Test", 20);
然后将这些对象作为 JSON(字符串化)保存在浏览器的本地存储中
当我读回对象时,我得到了数据,但我没有得到附加的方法,即talk() 不再可用作方法。我如何再次附加它们?
window.localStorage["person"] = JSON.stringify(new Person('Test', 20));
var person = window.localStorage["person"];
person.talk("Hello");
我得到的错误是
Uncaught TypeError: Object {"name":"Test","age":20} has no method 'talk'
很明显,对吧?但是我怎么知道这是一个 Person 对象呢?或者我应该只是将读取对象中的属性复制到一个新的 Person 对象上,这是唯一的方法吗?