0

我有一个从数据结构创建的 Javascript 对象(它是一个 dojo/有状态对象)。我想将该有状态对象转换回标准哈希对象。

a = {test: "a test"};
b = new stateful(a);
new_a = new object(a);

这样做的原因是因为我有一个函数需要传递一个带有基对象类的对象。向它传递一个有状态的对象是行不通的,即使数据结构是相同的。

我发现做一个

new_a = b;
new_a.__proto__ = new_a.__proto__.__proto__

会在我正在使用的 Chrome 版本中做我想做的事,但我猜这是一种非常糟糕的做法。

4

1 回答 1

1

您可以为原始对象上的每个属性创建监视。这将使原始对象与有状态对象的更改保持同步。

此示例扩展dojo/Stateful对象以保留原始对象并添加监视以更新原始对象。

http://jsfiddle.net/cswing/YJHtH/

于 2013-02-27T16:24:42.300 回答