我在一个js文件里定义了一个Object(假如为o),用o来存一些数据,当然这些数据一直在内存中存在。然后我在别的地方会调用这个js然后来对o做一些操作,可能是改变o里某些属性的值,或者是新增属性,或者是删除属性。 问题是:我如何保证我在删除或修改的时候不改变原来o里所有的数据。 我发现我复制一个o出来,改变这个复制对象的时候o也改变了。
回复 (11)
I
引用 jimliang请复习,深复制和浅复制 From Noder
@jimliang 搞定了,多谢!
I
引用 kleshlodash 你值得拥有 来自酷炫的 CNodeMD
@klesh 我也有用lodash,但不知道它有复制Object的api么?
K
直接有个 clone 啊,像 defaults assign merge 等都可以达到相同的目的,看你的需要选择使用。
B
I
I
B
引用 im-here@baka397 链接404
@imhered 复制有点问题,我改了下
O
这个是引用内存地址的,所以你改了这个,前面那个也跟着改了
I
引用 baka397@imhered 复制有点问题,我改了下
@baka397 3q
参与回复
登录后即可参与回复。登录