- 拷贝的对象的值中如果有函数、undefined、symbol 这几种类型,经过 JSON.stringify 序列化之后的字符串中这个键值对会消失;
- 拷贝 Date 引用类型会变成字符串;
- 无法拷贝不可枚举的属性;
- 无法拷贝对象的原型链;
- 拷贝 RegExp 引用类型会变成空对象
- 对象中含有 NaN、Infinity 以及 -Infinity,JSON 序列化的结果会变成 null;
function Obj () {
this.func = function () {alert('1111')};
this.obj = {a:1}
this.arr = [1,2,3]
this.und = undefined;
this.reg = /123/;
this.date = new Date ()
this.NaN = NaN;
this.infinity = Infinity
}
let obj1 = new Obj()
let obj2 = JSON.parse(JSON.stringify(obj1))
console.log(obj1);
console.log(obj2, '999999999999999');