分配给__proto__属性的正确方法

时间:2010-12-10 15:08:42

标签: javascript json prototype

我有一些从JSON反序列化的对象,我想分配一个新的原型,以提供各种getter和setter函数。显而易见的方法(如this question中所述)是设置

myJsonObj.__proto__ = { function1: /* ... */, function2: /* ... */ };

但是,作为MDC helpfully points out__proto__属性是非标准属性并已弃用。是否有任何符合标准的方法(对于某些“标准”的定义)可以实现相同的效果,而无需创建大量新的包装器对象?

1 个答案:

答案 0 :(得分:4)

在创建对象后,没有符合标准的方法来更改对象的原型。 有一种符合标准的方法可以在从JSON解析时使用您想要的任何原型创建对象。

来自http://www.json.org/js.html

  

可选的reviver参数是a   将为每个人调用的函数   每个级别的关键和价值   最后结果。每个值都是   取而代之的是复活的结果   功能。这可以用来改革   将通用对象转换为实例   伪类,或转换日期   字符串到Date对象。