为属性键的属性都会被完全忽略掉,即便 replacer 参数中强制指定包含了它们
Date 日期调用了 toJSON() 将其转换为了 string 字符串(同Date.toISOString()),...函数需要返回 JSON 字符串中的 value, 如下所示:
如果返回一个 Number, 转换成相应的字符串作为属性值被添加入 JSON 字符串
如果返回一个 String, 该字符串作为属性值被添加入...JSON 字符串
如果返回一个 Boolean, 则 "true" 或者 "false" 作为属性值被添加入 JSON 字符串
如果返回任何其他对象,该对象递归地序列化成 JSON 字符串,对每个属性调用...接下来我们看看如何反序列化带函数字符串的 json.
因为我们将函数转换为字符串了, 我们在反解析时就需要知道哪些字符串是需要转换成函数的, 如果不对函数做任何处理我们可能需要人肉识别....所以我换了一种简单的方式, 可以不用写复杂正则就能将函数提取出来, 方法就是在函数序列化的时候注入标识符, 这样我们就能知道那些字符串是需要解析为函数了, 如下:
stringify: function