1. 使用JSON序列化

  1. const a = {a:1}
  2. const b = JSON.parse(JSON.stringfy(a))

存在的问题

  • 不支持函数序列化
    • 无法拷贝值为函数的属性
  • 不支持undefined
    • 无法拷贝值为undefined的属性
  • 不支持引用
    • 如果对象中引用了自己,会报错
  • 会将Date变成字符串
    • 拷贝过去会变成时间字符串 ISO8601
  • 不支持正则表达式

2. 递归克隆