javascript - 存储 JS 对象以及原型(prototype)、实例类型等

标签 javascript json object save archive

除了从 JS 对象生成 JSON 字符串时序列化的内容之外,是否可以从本质上存档 JS 对象的状态?

考虑在游戏中保存状态,并在单独的场合将其加载回窗口

最佳答案

最简单的方法是序列化对象,然后从序列化数据重新创建它:

function AnObject(number, string) {
  this.number = number;
  this.string = string;
  this.add = function(){number++};
}
var initialObject = new AnObject(1, 'a');
var serialized = JSON.stringify(initalObject);
//Gives {"number": 1, "string": "a"}

var parsed = JSON.parse(serialized);
var recreated = new AnObject(parsed.number, parsed.string);
//Is the same as initialObject

如果需要,您可以序列化函数:

function serializeFunction(f) {
  var string = f.toString();
  return string.substring(string.indexOf('{')+1, string.length - 1);
}
var func = function(){alert(1)};

关于javascript - 存储 JS 对象以及原型(prototype)、实例类型等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29655752/

相关文章:

json - Flutter JSON String/Int 命令

javascript - 如何操作 d3js 树布局

java - 将对象附加到序列化文件

javascript - 在单独的弹出窗口中显示 div

javascript - 在 JavaScript 中拆分 Date 字符串的更好方法是什么?

javascript - 如何向 CSHTML 中的特定目标元素抛出自定义消息

java - 从数组写入可序列化对象

javascript - Google Maps API V3 - 显示沿路线的进度

javascript - 在 Ajax 中解析 JSON

Javascript自动解析嵌套对象