猿问

使用JSON.stringify()方法的问题

JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。以下代码执行后a的值为:

var a = JSON.stringify({name: "jerry", age: 1, nick: undefined, tags: null});

正确答案给的是'{"name":"jerry","age":1,"tags":null}' ,想请教一下大牛为什么不是{"name":"jerry","age":1,"nick":undefined,"tags":null }'?为什么没有"nick":undefined呢?


红糖糍粑
浏览 625回答 1
1回答

慕森王

关于序列化,有下面五点注意事项:非数组对象的属性不能保证以特定的顺序出现在序列化后的字符串中。布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值。undefined、任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)。所有以 symbol 为属性键的属性都会被完全忽略掉,即便 replacer 参数中强制指定包含了它们。不可枚举的属性会被忽略JSON.stringify()
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答