位置: 编程技术 - 正文

详解JavaScript对象序列化(javascript的)

编辑:rootadmin

推荐整理分享详解JavaScript对象序列化(javascript的),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript的,javascript的,javascript的,对javascript的理解,对于javascript理解,javascript的对象主要包括,javascript对象有什么用,javascript对象有什么用,内容如对您有帮助,希望把文章链接给更多的朋友!

一.什么是对象序列化?

  对象序列化是指将对象的状态转换为字符串(来自我这菜鸟的理解,好像有些书上也是这么说的,浅显易懂!);

  序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程(来自“百度百科—序列化“,学术性强,略显高端);

二.为什么会有对象序列化?

详解JavaScript对象序列化(javascript的)

  世间万物,都有其存在的原因。为什么会有对象序列化呢?因为程序猿们需要它。既然是对象序列化,那我们就先从一个对象说起:

  当这句代码运行时,对象obj的内容会存储在一块内存中,而obj本身存储的只是这块内存的地址的映射而已。简单的说,对象obj就是我们的程序在电脑通电时在内存中维护的一种东西,如果我们程序停止了或者电脑断电了,对象obj将不复存在。那么如何把对象obj的内容保存在磁盘上呢(也就是说在没电时继续保留着)?这时就需要把对象obj序列化,也就是说把obj的内容转换成一个字符串的形式,然后再保存在磁盘上。另外,我们又怎么通过HTTP协议把对象obj的内容发送到客户端呢?没错,还是需要先把对象obj序列化,然后客户端根据接收到的字符串再反序列化(也就是将字符串还原为对象)解析出相应的对象。这也正是”百度百科—序列化“中描述的两个作用——存储、传输。

三.JavaScript中的对象序列化

  JSON的全称是”JavaScript Object Notation“——JavaScript对象表示法。ECMAScript 5中提供了内置函数JSON.stringify()和JSON.parse()用来序列化和还原JavaScript对象。它们使用起来也很简单:

可以看到,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的

本文链接地址:https://www.jiuchutong.com/biancheng/383736.html 转载请保留说明!

上一篇:学习JavaScript设计模式之单例模式(javascript教程doc)

下一篇:理解JS绑定事件(理解js绑定事件是什么)

  • 给对方汇钱
  • 股东如何收回投资
  • 公司费用计入什么科目
  • 定额征收需要建账吗
  • 非货币性交换需要确认主营业务收入吗
  • 加工皮革出口能申请退税吗
  • 住房公积金在个税中如何扣除
  • 企业走账的会计处理
  • 存货转为公允价值怎么算
  • 公司投资的股权财产怎么认定
  • 采购商品未收到分录
  • 冲销应收账款会引起
  • 购买商品加包装后出售账务处理
  • 客户想免费拿样
  • 跨年度销售退回所得税
  • 用友为啥会出现期初调整
  • 今年补缴去年的税汇算清缴吗
  • 个体户不到3万怎么报税需要花钱吗
  • 建筑业预交的增值税
  • 普通发票计量单位没填
  • 国家税务总局公告2023年第1号
  • 如何确定增值税
  • 资产处置损益在企业所得税汇算时如何填列
  • 劳务费个人所得税税率
  • 企业滞纳金属于什么税
  • 资本公积 税务
  • 今年交去年的工会经费账务处理?
  • 欧拉操作系统和龙蜥哪个好用
  • 如何使用U盘启动盘进行分区
  • 收到服务费专票怎么做账
  • php如何防止表单重复提交
  • dgservice.exe是什么
  • 鸿蒙系统进入工程菜单
  • macbookprofacetime
  • mac清理垃圾怎么清理
  • qttask.exe是什么进程?qttask.exe是不是病毒?
  • 收入的特征包括什么
  • 生产成本分配表模板
  • 房产税的计税依据的形式包括
  • 备用金报销怎么做账
  • php同时使用session和cookie来保存用户登录信息的实现代码
  • 商业银行流动性风险监管指标
  • 昆明紫霞宫的46 道拐
  • 路径规划步骤
  • 增值税抄税报税流程
  • 前端环境部署到服务器开发环境
  • named-config
  • 洗浴报销票子怎么写
  • 代扣代缴个人社保账务处理
  • SQL Report Builder 报表里面的常见问题分析
  • 有外币业务需不需要交税
  • 哪些合同不需要线上审批
  • 工程结算科目
  • 企业收据的相关法律规定
  • 预缴增值税附加税需要计提吗
  • 跨年发生退货税务处理
  • 账面价值与计税基础的区别和联系
  • 闽侯县安置房交易缴纳土地出让金
  • 外贸公司收取客户的费用
  • 政府补助的分类及会计处理方法有哪些
  • 在建工程发生的运费计入什么科目
  • 小规模纳税人采用简易计税方法征收增值税
  • 先开发票后付款如何记账?
  • 工程款开票数量和单价要填吗
  • 结转收入会计分录怎么做
  • 专项附加扣除项目
  • 报税中反写是什么意思
  • 所有符合条件x+5的绝对值加x- 2的绝对值等于七的数x
  • macbook怎么隐藏
  • ubuntu虚拟机怎么用
  • 桌面任务栏消失怎么办
  • xp远程连接win7
  • unity进度条有百分比代码
  • combobox 添加选项
  • 如何在eclipse
  • jquery简写符号
  • js 分页插件
  • 重庆市电子发票样式
  • 金条如何销售
  • 河南省医保网上报销流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设