位置: 编程技术 - 正文

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

  • 车船税征税范围口诀
  • 企业固定资产入账新标准
  • 住宿普通发票怎么做账
  • 企业收到退税款怎么处理
  • 更正申报后可以作废吗
  • 期初是什么
  • 印花税和增值税一起扣款有影响吗
  • 房地产企业季度所得税申报
  • 金蝶k3现金流量明细查询
  • 赠送客户的产品计入销售费用的二级科目
  • 子公司分红款没收到,宣告分红可以免税吗
  • 中小企业所得税优惠政策有哪些
  • 辅导期纳税人会计处理
  • 还有预算外资金的说法吗
  • 基建贷款贴息账户有哪些
  • 现金预算包括哪些内容,来源是什么
  • 收到销项负数发票
  • 公司企业变更后原来的营业执照还有吗
  • 税务局开租赁发票
  • 本单位员工投稿怎么写
  • 维修服务费税率是多少?
  • 物业管理费属于应付账款吗
  • 对方开具红字发票过来怎么做进项税转出
  • 附加税有哪些税种
  • 拆迁补偿款需要交企业所得税吗
  • 没票的购进能入成本吗
  • 用于非应税项目的购进货物或应税劳务
  • 停止恶意软件删除怎么办
  • 实收资本可以大于注册资本嘛
  • 出口零申报步骤
  • 低值易耗品报废账务处理
  • 如何清理电脑浏览器
  • 所有者权益类的期末余额公式
  • 企业的留存收益可以抵税吗
  • 信用减值损失在借方是增加还是减少
  • 二次封装机
  • vue3加ts
  • vue基础知识
  • mybatis isnotempty标签
  • 挥别2020逐梦2021
  • 合并的命令
  • 融资租赁怎么计税
  • 应收账款项目的金额公式
  • php是免费的吗
  • mysqldump导入数据库
  • 会计学中资本的定义
  • 融资租入的固定资产视为自有固定资产
  • 委托开户银行发放上月工资
  • 营业外收入账务处理方法
  • 健身房健身器材采购清单
  • 如何当好一个农民
  • 现代服务业包括哪些
  • 无票收入怎么报增值税
  • sum(case when then)(判断男女生的个数)
  • MySQL部署时提示Table mysql.plugin doesn’t exist的解决方法
  • mysql版本信息
  • 用户画像
  • ubuntu server gui
  • windows微软官方
  • 硬盘uefi启动安装系统
  • elf.exe是什么程序
  • appservicesdkscripterror
  • win7大小写提示图标
  • win10自定义功能键
  • mac电脑打开safari
  • windows10如何多选文件
  • mac safari浏览历史
  • ssh远程登录设置
  • windows8应用商店在哪
  • js实现日历可获得的信息
  • jquery动态设置css
  • java回收机制原理
  • Python网络爬虫出现text没有属性怎么办
  • 国家税务局涉税信息公开
  • 山东发票查询系统平台
  • 北京朝阳区地税服务大厅
  • 回家税务总局全国增值税发票查询
  • 企微宝破解
  • 昆明学院领导班子
  • 应交税金包含企业所得税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设