深克隆
JSON.parse(JSON.stringify(obj))
会将undefined丢掉、克隆循环引用会报错
MessageChannel
相对于①的好处是不会丢掉undefined、可以clone循环引用对象
传统做法递归+map
可以完美解决深克隆
使用了结构化克隆算法的
比如 indexDB、webworker
但有些限制,这些是不能被结构化克隆算法克隆的
structuredClone
BOM新方法,兼容性差
会将undefined丢掉、克隆循环引用会报错
相对于①的好处是不会丢掉undefined、可以clone循环引用对象
可以完美解决深克隆
比如 indexDB、webworker
但有些限制,这些是不能被结构化克隆算法克隆的
BOM新方法,兼容性差