手写源码系列
英俊潇洒你冲哥:手写源码系列(一)——call、apply、bindzhuanlan.zhihu.comJSON.stringfy() 的说明
JSON.stringify()
方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,如果指定了replacer是一个函数,则可以选择性的替换值,或者如果指定了replacer是一个数组,可选择性的仅包含数组指定的属性。
本文要实现的JSON.stringfy()
是不带replacer
和space
参数的简化版本
转化过程遵循以下原则
- 转换值如果有toJSON()方法,该方法定义什么值将被序列化。
- 非数组对象的属性不能保证以特定的顺序出现在序列化后的字符串中。
- 布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值。
undefined、
任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成null