<script>
function serialize(obj, name) {
var result = "";
function serializeInternal(o, path) {
for (p in o) {
var value = o[p];
if (typeof value != "object") {
if (typeof value == "string") {
result += "\n" + path + "[" + (isNaN(p)?"\""+p+"\"": p) + "] = " + "\"" + value.replace(/\"/g, "\\\"") + "\""+";";
} else {
result += "\n" + path + "[" + (isNaN(p)?"\""+p+"\"": p) + "] = " + value+";";
}
} else {
if (value instanceof Array) {
result += "\n" + path +"[" + (isNaN(p)?"\""+p+"\"": p) + "]"+"="+"new Array();";
serializeInternal(value, path + "[" + (isNaN(p)?"\""+p+"\"": p) + "]");
} else {
result += "\n" + path + "[" + (isNaN(p)?"\""+p+"\"": p) + "]"+"="+"new Object();";
serializeInternal(value, path +"[" + (isNaN(p)?"\""+p+"\"": p) + "]");
}
}
}
}
serializeInternal(obj, name);
return result;
}
function A() {
this.name = "A";
this.arr = new Array();
this.put = function(para) {
this.arr[this.arr.length] = para;
}
}
function B() {
this.name = "B";
this.show = "";
}
var a = new A();
var b = new B();
b.show = function() {
alert("function 1");
}
var b2 = new B();
b2.show = function() {
alert("function 2");
}
a.put(b);
a.put(b2);
//序列化
console.log(serialize(a, "a"));
//反序列化
var deserialization_lang = serialize(a, "a"); //deserialization_lang生成的语句
var a = new Object();
eval(deserialization_lang);
a.arr[0].show(); //成功的弹出function 1
</script>
网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


