gpt4 book ai didi

javascript - 重建以 JSON 序列化的对象

转载 作者:数据小太阳 更新时间:2023-10-29 05:34:14 25 4
gpt4 key购买 nike

在我的网络应用程序中,我使用 JSON.stringify() as described here 序列化存储对象.这太棒了,我可以轻松地从 JSON 字符串重新创建对象,但我丢失了所有对象的方法。有没有一种简单的方法可以将这些方法添加回我忽略的对象 - 可能涉及原型(prototype)制作,这是我不太熟悉的东西?

或者这只是我自己创建一个复杂的函数来执行此操作的情况?

编辑:理想情况下,我正在寻找类似的东西:

Object.inheritMethods(AnotherObject);

最佳答案

调用 JSON.parse 后获得对象后,您有很多选择。这里有几个例子。

  1. 混合

    有很多技术可以做到这一点,其中 this文章描述的很好。但是,这是一个不需要任何新语言功能的简单示例。请记住,对象本质上只是一张 map ,因此 JS 可以轻松地向对象添加其他属性。

    var stuffToAdd = function() {
    this.name = "Me";

    this.func1 = function() {
    print(this.name);
    }

    this.func2 = function() {
    print("Hello again");
    }
    }

    var obj = JSON.parse("{}");
    stuffToAdd.call(obj);
  2. 原型(prototype)

    使用 Object.create菲利克斯提到的方法。由于这仅在 ES5 中提供,您可能需要使用 shim以保证其可用性。

关于javascript - 重建以 JSON 序列化的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7204352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com