项目中出现一个报错Uncaught TypeError: Converting circular structure to JSON,,根据上述报错可以知道代码是运行到JSON.stringify时,抛出了这个错误,代码中使用JSON.parse跟JSON.stringify来实现便捷深复制,网上查询了一圈,原来是要深复制的对象被循环引用,什么意思呢?如下所示
我们声明两个对象,然后把第一个对象赋值给第二个对象里面的一个属性,把第二个对象赋值给第一个对象里的某个属性,此时就是循环引用,这个时候再去使用JSON.string跟JSON.parse来深复制就会报上述的错误,解决办法是再声明一个对象,把你要深复制的对象里的属性赋值给新的对象,然后再进行深复制
此时再运行就发现不会报错了,。