位置: 编程技术 - 正文

详解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绑定事件是什么)

  • 公允价值变动损益属于什么科目
  • 一般纳税人应纳税额减征额怎么算
  • 不动产官网查询
  • 企业工程款发票税率是多少2021
  • 普票能抵扣多少
  • 生产车间领用低值易耗品
  • 个人住房转让纳税标准
  • 年度纳税申报时间规定
  • 出口货物免税的税种包括
  • 事业单位其他收入的会计分录
  • 租赁汽车油费可以抵扣吗
  • 私人帐户可以给别人用吗
  • 税盘显示已过开票截止日期
  • 税收强制执行措施包括哪些
  • 不良品的会计处理方法
  • 个人借支备用金限额
  • 增值税发票每个月什么时候可以开
  • 公司给员工发工资用途怎么写
  • 企业采购成本包括所有的仓储费用
  • 消防工作经历证明哪些单位可以开
  • 差旅补助需要计提吗
  • 销售门窗并安装如何缴纳增值税
  • 加班工资算补贴么
  • kb4586853更新
  • 广告公司收到广告费发票如何入账
  • mac修改系统版本号
  • php floor()
  • 非货币性资产交换的记忆口诀
  • 供货商倒闭未缴增值税
  • wordpress拿shell
  • laravel create
  • 向客户收费
  • 净资产收益率的概念
  • 坏账准备账务处理程序
  • gpt 4927
  • 网络命令traceroute
  • 用php编写一个简单的计算器程序
  • 增值税进项税额计算公式
  • 错账的类型及对应的更正方法
  • 员工工资费用
  • 在pycharm中配置python
  • mongodb如何修改数据
  • 利润是非限定净现值吗
  • 个体工商户营业执照注销流程
  • 企业有哪些固定资产
  • 小规模未达到起征点申报表怎么填
  • 购买仓库计入什么科目
  • 租出的固定资产
  • 月末如何计提增值税附加及增值税
  • 收到劳务费发票如何申报个税
  • 中介收取中介费的法律依据
  • 旅客运输服务客体是什么
  • 货拉拉平台运费没有结打不通电话怎么办
  • 收付转三种凭证怎么装订
  • 赠送购物券的会计处理
  • 非营利医疗机构印花税减免政策文件
  • 企业明细是什么
  • mysql5.7.21安装
  • mac怎么录制
  • linux进程管理器
  • 怎么快速更换苹果手机壁纸
  • linux网络中断
  • Unity AssetBundle爬坑手记
  • 深入分析南水北调工程面临的新形势心得体会
  • android 图片
  • android系统介绍
  • python 堆叠
  • vue+node+webpack环境搭建教程
  • windows清除远程登录记录
  • js获取tbody
  • 清除cookie是什么意思
  • vue3.0diff
  • js中生成随机数
  • linux0.11编译
  • js数组排序方法sort
  • Genymotion首次运行程序出现错误Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
  • python utils模块
  • 江苏省办理准生证的app叫什么
  • 汽车销售顾问有前途吗
  • 河北税务云办税厅官方
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设