【发布时间】:2015-04-10 03:26:11
【问题描述】:
为什么 JSON 字符串化然后解析不适用于此对象。它对带有局部变量的对象是否有效?
function Task(description) {
var _description = description;
this.getDescription = function() {
return _description;
}
}
var task = new Task('wash car');
console.log(task.getDescription());
var json = JSON.stringify(task);
console.log(JSON.parse(json).getDescription());
【问题讨论】:
-
您无法将字符串解析为具有函数的对象。它如何知道具有相同字段名称的两个对象之间的区别?
-
当你 JSON.stringify 一个对象时,函数被省略。更何况,所有的引用都被销毁了,所以它不会再是
Task的实例了 -
我需要将对象保存在本地存储中,然后获取它。我怎样才能做到这一点?
-
@TharinMeggettII
task不仅仅是一个简单的对象,这就是为什么单独使用 json.stringify 和 json.parse 不足以解决这个问题。在对task进行字符串化之后,您将拥有的是"{}"
标签: javascript json parsing stringify