javascript使用JSON进行深拷贝。
- 论坛
- javascript使用JSON进行深拷贝。
17 浏览
javascript使用JSON进行深拷贝。
我在处理JavaScript对象(数组)的深拷贝时遇到了问题。我已经阅读了很多解决方法,并且我也知道jQuery有一个$.extend API来解决这个问题。但是我的问题是:我是否可以只使用JSON stringify和parse方法来解决这个问题?
这是我的代码:
function deepCopy(oldValue) { var newValue strValue = JSON.stringify(oldValue) return newValue = JSON.parse(strValue) } var a = { b: 'b', c: [1,2,4], d: null } copy = deepCopy(a) console.log(a === copy) // false console.log(a.c === copy.c) // false
PS:我知道如果不是所有对象都是可序列化的,但我唯一知道的情况是对象包含一个函数属性。还有其他情况吗?