我有一些从JSON反序列化的对象,我想分配一个新的原型,以提供各种getter和setter函数。显而易见的方法(如this question中所述)是设置
myJsonObj.__proto__ = { function1: /* ... */, function2: /* ... */ };
但是,作为MDC helpfully points out,__proto__
属性是非标准属性并已弃用。是否有任何符合标准的方法(对于某些“标准”的定义)可以实现相同的效果,而无需创建大量新的包装器对象?
答案 0 :(得分:4)
在创建对象后,没有符合标准的方法来更改对象的原型。 有一种符合标准的方法可以在从JSON解析时使用您想要的任何原型创建对象。
来自http://www.json.org/js.html:
可选的reviver参数是a 将为每个人调用的函数 每个级别的关键和价值 最后结果。每个值都是 取而代之的是复活的结果 功能。这可以用来改革 将通用对象转换为实例 伪类,或转换日期 字符串到Date对象。