第一大特性:
1.undefined、任意的函数以及 symbol 作为对象属性值时 JSON.stringify() 将跳过 (忽略)对它们进行序列化;
2.undefined、任意的函数以及 symbol 作为数组元素值时,JSON.stringify() 会将它们序列化为 null;
3.undefined、任意的函数以及 symbol 被 JSON.stringify() 作为单独的值进行序列化时都会返回 undefined;
第二大特性:
非数组对象的属性不能保证以特定的顺序出现在序列化后的字符串中。 (正如第一特性所说,JSON.stringify() 序列化时会忽略一些特殊的值,所以不能保证序列化后的字符串还是以特定的顺序出现(数组除外))
第三大特性:
转换值如果有 toJSON()
函数,该函数返回什么值,序列化结果就是什么值,并且忽略其他属性的值。
第四大特性:
JSON.stringify()会正常序列化Date的值。(实际上Date对象自己部署了toJSON()方法(同Date.toISOString(