json

举报
hello word~/ 发表于 2020/08/04 11:13:48 2020/08/04
【摘要】 Josn:JSON是一种传输数据的格式(以对象为样板,本质就是对象,但用途有区别,对象就是本地用的,json是用来传输的)Josn.parse();string-------jsonJson.stringify();json-----string其实简单那来说json就是一种转变的工具吧,就像你在获取数据还是发送,你需要将数据类型改变或者传输什么样,你就可以改变用它。举个很简单的列子:在使用...

Josn:
JSON是一种传输数据的格式(以对象为样板,本质就是对象,但用途有区别,对象就是本地用的,json是用来传输的
Josn.parse();string-------json
Json.stringify();json-----string

其实简单那来说json就是一种转变的工具吧,就像你在获取数据还是发送,你需要将数据类型改变或者传输什么样,你就可以改变用它。

举个很简单的列子:在使用Ajax获取数据的时候,你可能会获取的数据类型你看不懂,但是那个数据确实又是你要的内容,但是可能是字符串之类的格式显示的,这个时候你就可以用json去转变它你看的懂格式,列如这个数据data,然后你就可以使用json.parse去转换他为文字形式展示。

俗称:json就是转化器和解析器
异步加载js
Js加载的缺点:加载工具方法没必要阻塞文档,过的js加载会影响页面效率,一旦网速不好,那么整个网站将等待js加载而不进行后续渲染等工作。
有些工具方法需要按需加载,用到在加载,不用不加载。

Javascript异步加载的j几种方案

  1. Defer异步加载,但要等到dom文档全部解析完才会被执行。只有ie能用,也可以将代码写到内部。

  2. async异步加载,加载完就执行,async只能加载外部脚本,不能把js写在script标签里

  3. 执行时也不阻塞页面

  4. 创建script,插入到DOM中,加载完毕后callBack【回调函数】,
    Onload页面加载完,后面才显示

`**Js加载时间线**`:
  1. 创建document对象,开始解析web页面。解析HTML元素和他们的文本内容后添加Element对象和text节点到文本中。这个阶段document。ReadyState = ‘loading’。

  2. 遇到link外部css,创建线加载,并继续解析文档。

  3. 遇到script外部js,并没有设置async、defer,浏览器加载,并阻塞,等待js加载完成并执行脚本,然后继续解析文档。

  4. 遇到script外部js,并设置async、defer,浏览器创建线程加载,并继续解析文档。对于async属性的脚本,脚本加载完成后立即执行。(异步禁止使用document.write());

  5. 遇到img等,先正常解析dom结构,然后浏览器异步加载src,并继续解析文档。

  6. 当文档解析完成后,document。ReadyState = ‘interactive’.

  7. 文档解析完成后,所有设置defer的脚本会按照顺序执行。(注意与async的不同,但同样禁止使用document。write)


  8. Document对象触发DOMcontenLoaded【这个事件只在addEventListener上作用】事件,这也标志着程序执行从同步脚本执行阶段,转化为事件驱动阶段。当所有async的脚本加载完成并执行后,img等加载完成后,document。ReadyState = ‘complete’,window对象

  9. 从此,以异步响应方式处理用户输入、网络事件等

  10. js加载时间线,我举个很简单易懂的列子,就是,都用过淘宝吧,淘宝下面不是很多内容吗,就是滚动条很长吗,如果你只是单纯想看上面的内容,不需要下面的内容,这个时候你就可以使用异步加载,就是等待你需要下面内容,下滑的时候,下面在加载,当你不下滑的时候,他就是处于预加载状态,这个时候性能稍微都强一些,加入你不需要下面的内容,但是又把下面的那内容加载了,那样很耗费性能,就是网页可能会很卡,但是你将这种情况设置为预加载 的状态,那样既不耗费性能也加载的很流畅,但是这个也是有缺陷的,比如你网卡,不很好,页面可能就会出现的不是很完美,就是有部分的渲染缓冲不出来,像那个网页显示的内容有很多效果,列如什么轮播,文字炫彩,但是你网络不佳的时候,就只是单纯的静态效果,或者很普通的效果,并没有你做的那些特效

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。