我问这个问题的原因是因为我想为我的对象使用 LocalStorage。您可能知道,在使用 LocalStorage 时,您必须对对象进行 JSON.stringify 处理,然后将它们解析回 javascript 对象。
我正在尝试使用方法对对象进行 JSON.stringify 处理,然后将其解析回来,但我得到的只是一个空对象。
请看一下这段代码。
人.js
function Person(name, telePhone) {
this.getName = function () {
return name;
}
this.setName = function (_name) {
name = _name;
}
this.getTelePhone = function () {
return telePhone;
}
this.setTelePhone = function (_telePhone) {
telepPhone = _telePhone;
}
};
Javascript.js
window.onload = function () {
var name = "John";
var telePhone = "073-2335662";
var personObject = new Person(name, telePhone);
console.log(personObject);
// returns: Person
console.log(personObject.getName());
//returns: John
var test = JSON.stringify(personObject);
var newPersonObject = JSON.parse(test);
console.log(newPersonObject);
//returns: Object
console.log(newPersonObject.getName());
//returns: Uncaught TypeError: Object #<Object> has no method 'getName'
};
有什么建议为什么 JSON.stringify 和 JSON.parse 之后的这个 Person 对象是空的并且丢失了它的所有方法?