前言

涉及到多端同步的一致性解决方案, 在不考虑性能的前提下追求通用性。故实现如下文所属方法。

正文

不过多解释, 最终代码如下图(花了我一下午时间研究js这玩意, 懒得过多写文章了), 功能也写的很明显了。已在写的过程中,跑了一定量的测试用例, 相对可靠, 还未上生产环境<上生产环境前, 会尽可能的制作全面的测试用例来绝对验证>。 后续不再对此文章进行维护, 如果你看到时文章没有删除且我的项目已有足够多的用户帮忙验证, 则代表两个函数实现的没问题。

最终, 我决定 将api 命名如下:

  • deepAssign() // 代表 与 Object.assign()完全相反的, 纯深拷贝(即图中左侧项)
  • deepAssign_shallowCopy() // 代表 赋值时采用深拷贝, 而拷贝时采用与Object.assign()相同的浅拷贝(即图中右测项)