在用SON.parse、JSON.stringify做对象深拷贝时,发现会丢失对象中某些类型的值,所以我们来一探究竟,看看在转换过程中做了什么处理。 先看下MDN是怎么介绍 JSON.stringify 的JSON.stringify(value[, replacer [, space]]) 参数value将要序列化成 一个JSON 字符串的值。 这是第一个参数,应该都不陌生,最常用的也是这个。其他两个基本用不到。 一般传入一个对象。但是不仅仅如此,还可以传入其他值哦。 replacer | 可选可以三种类型的值: 函数,在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理数组,只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中null或者未提供,对象所有的属性都会被序列化一般情况下,我们都不传,按第3种方式处理。 space | 可选指定缩进用的空白字符串,用于美化输出。 可以指定三种类型的值: 数字,代表有多少的空格。上限为10,该值若小于1,则意味着没有空格。字符串,字符串的前十个字母,该字符串将被作为空格。null或者未提供,将没有空格。