位置: 编程技术 - 正文

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

  • 餐饮发票不是增值发票吗
  • 核定征收企业所得税暂行办法
  • 增值税普通发票查询真伪
  • 行政单位财政直接支付适用范围
  • 计提增值税及附加税费怎么算
  • 处置资产开啥发票
  • 企业筹建期间利息支出税前扣除怎么算
  • 工资表多扣个税怎么做账
  • 应收账款科目怎么写
  • 收到投资款的会计
  • 冲减成本怎么做会计分录
  • 小规模公司退税
  • 税控盘抵税账务处理
  • 税审报告谁签字
  • 个人所得税申报退税的条件
  • 降低房租
  • 湿租增值税税率多少
  • 对方承担税费怎么做会计分录
  • 收到个人转款会计分录
  • a公司转给b公司投资款的会计分录
  • 享受小型微利企业税收优惠的条件
  • 企业有哪些资金结构
  • 利润分配补亏
  • 少计提增值税0.01计入营业外
  • 注册公司需要注册资金吗
  • 如何使用腾讯电子签维护自己的权益
  • 招标公司返回的钱怎么算
  • 补缴以前年度附加税
  • bios里头没有usb功能怎办
  • 电脑找不到Realtek
  • 苹果客服人工24小时
  • uniapp的css库
  • 公司注销时做哪些财务处理
  • 海关进口税可以抵扣吗
  • 未开票收入不申报处罚
  • 流动资产处置利得
  • element_at
  • php防止用户重度登录
  • 成本费用票包括哪些
  • 出口货物不予免、抵和退税为什么是按外销离岸价计算
  • js对象模型是什么
  • 海关双抬头发票公司名可以更改吗
  • 酒店营业税率是多少
  • sqlserver2005 xml字段的读写操作
  • sql查看日志
  • 公司股东的权利和义务有哪些
  • 水利建设基金计费方式
  • 分公司挣的钱归谁所有
  • 工程项目买保险没有合同 情况说明怎么写
  • 企业转移地点剩余房产
  • 营改增后建筑业怎么开票
  • 超过保质期放冰箱还能吃吗
  • 残保金中上年在职职工工资总额
  • 未认证的进项税发票入账
  • 减免税做营业外收入的会计分录
  • 股东借款转实缴资本
  • 持有至到期投资在资产负债表怎么填
  • 股东分红需要
  • 工程施工费怎么开票
  • 会计账簿的作用主要包括
  • 劳务派遣人员能有营业执照吗
  • 在windows 7中任务栏儿
  • ubuntu网页打开很慢
  • wfxsnt40.exe - wfxsnt40是什么进程
  • Win10桌面任务栏能不能删除
  • windows安装mq
  • css中文名称
  • 深入理解python特性pdf百度云
  • python中将
  • 完美解决雷电模拟器卡顿
  • 怎么用node.js写接口
  • 数据结构分析时间复杂度
  • python xml.dom.minidom模块生成xml
  • js实现自定义打印
  • js 堆排序
  • 上海税务网上报税
  • 三亚 税务
  • 土地规划资质业务范围
  • 三免三减半是什么
  • 河北省税务局地址邮编
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设