位置: 编程技术 - 正文

详解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%专票可以抵扣吗
  • 电商公司怎么进入
  • 个人所得税多缴了可以退回吗
  • 增值税专用发票怎么开
  • 利息收入要不要交增值税?
  • 发票申领需要什么资料
  • 取得不动产时的作价
  • 代购本无罪,逃避关税须处罚
  • 模拟评估了是什么意思
  • 事业单位计提折旧的有哪些
  • 收到的运输发票要交印花税吗?
  • 光纤熔接发票属什么类别
  • 如何在win7系统中查看电脑基本信息
  • win10记事本怎么改字体颜色
  • 农产品进项税额转出怎么算
  • 固定资产清理损失可以税前扣除吗
  • php新手入门
  • 存货销售收入
  • 企业产房屋拆迁
  • 资产负债表中投资总额是什么
  • 小规模纳税人免税会计分录
  • php实现搜索的方式
  • php实现递归
  • 发票已开,款未到的会计分录
  • html-css
  • php面向对象优点,缺点
  • 哪些发票是成品发票
  • 毕业设计基于web难还是JAVA
  • 创建数据的命令是
  • 发票货物或应税劳务名称怎么填写
  • 持有投资期间,被投资单位编制合并报表
  • 用于研发的材料后期销售了应该怎么账务处理
  • 房东租金收据
  • 爬虫工程师简介
  • 小规模纳税人免增值税的账务处理
  • 对账小技巧
  • 拓展费用入什么科目
  • 不抵扣勾选的发票在哪里查看
  • 单位或个体经营者
  • 出差补助是否计入工资总额
  • 企业所得税如何抵扣
  • 两个公司之间怎么走账
  • 收到外币收入如何入账
  • 母猪生小猪会计分录
  • 简易征收怎么申报
  • 外经证适用范围
  • 建筑业营改增后,人工费不存在可抵扣
  • sql语句查询去重
  • 域怎么改名
  • 通过zeno实现加速屏幕显示操作教程
  • centos 界面安装
  • ksysslim.exe
  • 360安全卫士中心未完全开启
  • unetbootin教程
  • centos安装选项怎么选
  • win7安装补丁慢的原因
  • 微软内测
  • Linux系统下的Samba客户端配置
  • dos命令遍历文件
  • 教你用十行node.js代码读取docx的文本
  • 圆形图表分析怎么做
  • bat 远程连接
  • 用nodejs实现三个类,动物基础类(有跑的函数,吃的函数)
  • javascript的dom
  • JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
  • 广东电子税务局财务报表在哪里查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设