位置: 编程技术 - 正文

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

  • 小规模纳税人税率1%政策到什么时候
  • 利息税怎么算的
  • 计税基础怎么算
  • 社保缴费基数怎么算出来的啊
  • 营改增后销售租赁后的设备如何做税务处理?
  • 上年度重复结转会计分录
  • 贴息收入什么意思
  • 进口货物要交消费税吗
  • 购入的工具应计入哪个科目?
  • 建筑工程劳务承包
  • 清单申报和专项申报的区别
  • 商贸公司可以申请进出口权吗
  • 委托加工怎么计算消费税
  • 计提税金和缴纳税金的会计分录
  • 筹建期间开办费账务处理
  • 存货变卖残值取得的收益计入哪个科目
  • 装修的增值税
  • 苹果中国区副总裁
  • 员工意外伤害保险范围
  • 怎样查一个银行的行号
  • 管理费用怎么结转分录
  • 辞退补偿入账
  • pvlsvr.exe - pvlsvr是什么进程 有什么用
  • 修改远程桌面端口脚本
  • 文件夹字体怎么变大
  • 凭证导致账簿错误
  • 海带下载
  • 给php开发者的编程代码
  • vue-router.esm.js?a12b:2046 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation
  • 餐饮费是业务招待费还是差旅费
  • 开发成本属于什么类型科目
  • 部署fabric
  • ps怎么把图片套入样机快捷键
  • vue笔记大全
  • python的pillow库如何安装
  • 帝国cms移动端
  • 注册资金到位时间填多少年最好
  • 核销发生的坏账损失
  • Python变量中forain
  • 返利销售的增值税怎么算
  • 小企业会计准则和一般企业会计准则的区别
  • 建筑公司多个项目分别选计税方法的适用文件
  • mysql注入的修复方式
  • 小规模纳税人财务报表季报怎么填
  • 利息收入如何入会计科目
  • 营业外支出什么科目借贷方向
  • 失控发票多久能查出
  • 收到广告费分录
  • 公司没有车加油费怎么报
  • 已认证抵扣的发票如何红字信息表
  • 安置用房视同销售,怎么确认扣除费用?
  • 收到税务局退增值税怎么入账
  • 保险工资单怎么开
  • 暂估入库可以隔几个月再冲回吗
  • 商业承兑过期后可以退回吗
  • 融资租入固定资产计提折旧吗
  • 会计去企业还是国企好
  • jdbc连接sqlserver数据库查询数据画饼图
  • 没有系统盘怎么修复系统
  • ubuntu 18.04怎么用
  • xp系统无法正常启动怎么办
  • centos8 redhat
  • win7win8win10哪个流畅
  • linux sed
  • unity3d界面布局
  • 安卓listview的用法
  • javascript entries
  • python中urllib.unquote乱码的原因与解决方法
  • 如何判断sma
  • js中math.pow
  • android开发范例实战宝典
  • unity自动寻路
  • js左值
  • python编程完全入门教程
  • unity 3d游戏开发(第2版)
  • 地税局公务员考试科目
  • 四川国税局局长是谁
  • 2022年安徽城镇非私营单位平均工资
  • 车船税与船舶吨税法律制度ppt
  • 关于啤酒包装物押金,下列正确的是( )
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设