位置: 编程技术 - 正文

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

  • 无税率的汽油卡是什么
  • 基本户的利息和本金比例
  • 财政补助资金是什么意思
  • 预付款核销会计分录
  • 对外销售产品
  • 一般纳税人公司是什么型企业
  • 税后利润再投资
  • 小规模纳税人与注册资金有关系吗
  • 增值税 代销
  • 营业执照印花税税率
  • 增值税抵扣联是什么意思
  • 公司给员工的商业保险
  • 零申报的企业
  • 计提工资大于实发工资
  • 自然人股息红利免征个人所得税?
  • 软件企业即征即退账务处理
  • 金蝶怎么打开以前的年度账
  • win10桌面网络图标怎么调出来
  • 你肯定不知道的11个狗狗冷知识
  • 王者荣耀怎么解除关系
  • quickdcf.exe - quickdcf是什么进程 作用是什么
  • 临时工工资应该找人力资源要吗
  • PHP mysql_result()函数使用方法
  • php中字符串函数
  • 零售金银首饰的商场要交消费税吗
  • 上季度的亏损可以弥补下季度的企业所得税
  • redis php实例
  • 服务费可以暂估成本吗
  • vue cannot set property
  • 【简陋Web应用2】人脸检测——基于Flask和PaddleHub
  • 目标检测 2021
  • stat 命令
  • php改html
  • 注销营业执照的电话号码是多少
  • pycharm操作界面
  • 软件成本如何归类管理
  • 地方教育附加是非税收入吗
  • mongodb基础
  • 年终奖怎么计算个税
  • 私募基金成立的规模条件
  • 无票收入后又开票怎么办
  • 公司旅游费会计分录
  • 企业所得税营业收入怎么填
  • 本年缴纳上年的所得税填年报
  • 房屋租金的摊销怎么算
  • 收到境外企业顾问费
  • 使用distinct在mysql中查询多条不重复记录值的解决办法
  • 国债利息收入计入什么会计科目
  • 员工福利费属于什么会计科目
  • 员工的提成
  • 小规模没收入怎么报税
  • 工业增加值计算表(按生产法)
  • 出口货物不免不退
  • 销售公司中的服务是什么
  • 挂靠人员社保缴费分录如何做?
  • 营业账簿印花税怎么申报
  • 第二年发票可以入上年账吗
  • 年度损益调整的会计分录
  • 清算后剩余财产股东拒收怎么办
  • 企业的源头
  • 同比增长怎么算出来的
  • mysql5.0使用教程
  • mysql 创建root用户和普通用户及修改删除功能
  • xp系统怎样打开隐藏文件
  • 怎么在bios里设置usb开关
  • linux输出结果
  • Win10系统怎么添加字体
  • linux 查找语句
  • 批处理程序删除文件夹中临时文件
  • javascript编程语言
  • javascript()
  • android Graphics(一):概述及基本几何图形绘制
  • python中lxml模块
  • python中email模块
  • 建筑一般纳税人开3%
  • 求资金占用利息的公式
  • 成都那些地方属于正东方向
  • 上海电子税务平台开票不含税怎么改成含税
  • 税控系统技术维护费每年都要交吗
  • 怎样在网上申报税务流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设