• 技术文章 >web前端 >前端问答

    javascript序列化是什么

    青灯夜游青灯夜游2021-09-09 14:43:11原创136

    序列化就是指将一个在内存中的变量转换为可保存或传输的字符串的过程;在javascript中,可以使用“JSON.stringify()”方法来实现序列化,这能将JavaScript值转换为JSON字符串。

    本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    所谓序列化,就是将一个在内存中的变量转换为可保存或传输的字符串的过程。而反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来可以轻松的完成数据的存储和传输操作,使得程序更具维护性。

    javascript 序列化

    在javascript中,可以使用“JSON.stringify()”方法来实现序列化,它可将 JavaScript 值转换为 JSON 字符串。反序列化就需要使用“JSON.parse()”方法。

    语法格式:JSON.stringify(value[, replacer[, space]])

    参数说明:

    示例:使用 JSON.stringify() 序列化一个对象。

    1.png

    2.png

    可以看到,exampleStr和exampleObj2中并没有 y:undefined 的内容。这说明:JSON的语法是JavaScript语法的子集,它并不能表示JavaScript中的所有值,对于JSON语法不支持的属性,序列化后会将其省略。其详细规则如下:

    ①对于JavaScript中的五种原始类型,JSON语法支持数字、字符串、布尔值、null四种,不支持undefined;

    ②NaN、Infinity和-Infinity序列化的结果是null;

    ③JSON语法不支持函数;

    ④除了RegExp、Error对象,JSON语法支持其他所有对象;

    ⑤日期对象序列化的结果是ISO格式的字符串,但JSON.parse()依然保留它们字符串形态,并不会将其还原为日期对象;

    ⑥JSON.stringify()只能序列化对象的可枚举的自有属性;

    从上面的例子也可以看到,在符合以上规则的情况下,还可以通过对象序列化和反序列化完成对象的深拷贝。

    【推荐学习:javascript高级教程

    以上就是javascript序列化是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:javascript 序列化
    上一篇:javascript怎么输出值 下一篇:javascript的编写工具有哪些
    线上培训班

    相关文章推荐

    • javascript怎么清除所有定时器• javascript可以取数组的值吗• javascript事件绑定的方法有哪些• javascript怎么修改css样式• javascript怎么判断对象是不是存在

    全部评论我要评论

  • 邵钏

    关于JavaScript序列化过程中的内置类型和内置对象(如Date、RegExp),我写了个小工具ESSerializer(https://www.npmjs.com/package/esserializer),可以在序列化和反序列化过程中保留大多数内置类型/对象,同时保留自定义类、继承等各种面向对象属性,还支持循环引用结构。

    2021-09-25

  • 取消发布评论发送
  • 1/1

    PHP中文网