大梁商圈logo大梁商圈logo

找新闻

找软件

找产品

找工作

大梁商圈搜索
 当前位置:首页 > 新闻中心 > 企业新闻 > 正文

什么是JOSN?JavaScript中的json是怎么工作的?

来自:大梁科技  上传时间:2017年08月28日浏览量:3149

知识点:

● JSON

● for in 循环

● JSON 序列化

======================================================================================================


JSON(JavaScript Object Notation) javascript对象标记

JSON 是一种轻量级的数据交换格式,它基于ECMAScript的一个子集

JSON 使用 JavaScript 语法来描述数据对象(JSON本身就是对象)

JSON 仍然独立于语言和平台

JSON 解析器 和JSON 库支持许多不同的编程语言

JSON 内部用 键(key) / 值(value) 进行描述,没有 索引值 和 length属性

JSON 值可以是以下几种类型:数字 字符串 布尔值 数组 对象 null

JSON 键(key)的命名,通常使用英文

JSON 值(value)中的中文,通常使用unicode编码,例如:{"name":"张三"}→ {"name":"张三"}


★注意:

理论上说,JSON就是JS对象,但两者是有区别的:

ObjectJSON

属性名不需要引号键名(key)需要用""括起来

属性名中不可以用"-"(减号)键名(key)种可以"-"( 使用"[]"方式读取 )

属性值可以是函数(对象方法)键值(value)不可以是函数

JSON 数据的遍历

for in 循环

例:

var obj={"name":"zhangsan","age":18}

for(var key in json){ //key 代表键名

alert( key+":"+ json[key] ) //分别弹出: name:zhangsan age:18

}

-----------------------------------------------------------------------------------------------------------------------------------

JSON 序列化:

对象只有在JS语句运行时才有意义,对象是以字符串形式保存在电脑中,使用该数据时,再转换成对象。

序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。

JSON方法:(IE8以上)

序列化对象:对象→字符串

var obj = { x: 1, y: 2}

JSON.stringify( obj ); // {"x":1,"y":2}:返回一个字符串

反序列化成对象: 字符串→对象

var str = '{ "name":"zhangsan","age":18 }'; // 字符串的键(key)要用引号框起来

var Obj= JSON.parse(str);

console.log(Obj.name); // => zhangsan:输出对象属性x的值

兼容IE6/7/8

JSON官方兼容插件:Json2.js

-----------------------------------------------------------------------------------------------------------------------------------

JSON在线格式化:

https://tool.chinaz.com/tools/jsonformat.aspx

https://tool.oschina.net/codeformat/json

JSON在线压缩:

https://www.bejson.com/zhuanyi/

=====================================================================================================

JavaScript解释器工作原理

JavaScript解释器在执行脚本时,是按块(一对script标签,为一段代码块)来执行的。

浏览器在解析HTML文档流时,如果遇到一个<script>标签,则JavaScript解释器会等到这个代码块都加载完后,先对代码块进行预编译,然后再执行。

执行完毕后,浏览器会继续解析下面的HTML文档流,同时JavaScript解释器也准备好处理下一个代码块。

由于JavaScript是按块执行的,所以如果在一个JavaScript块中调用后面块中声明的变量或函数就会提示语法错误。

虽然JavaScript是按块执行的,但是不同块都属于同一个全局作用域,块之间的变量和函数是可以共享的,但是要注意声明的先后顺序。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

JavaScript预编译(预解析)

JavaScript的“编译”只是检查有没有代码错误,不会运行代码

1、先预定义变量,再预定义函数,在这个阶段,当前作用域中的变量和函数,将被提升到作用域的顶部

2、变量的预编译只作声明,并未赋值

3、function语句定义的函数,不仅声明了函数名,而且函数体也进行了处理

4、匿名函数不会预编译


★常见错误:

Uncaught SyntaxError:未知的语法错误

Uncaught TypeError: 未知的类型错误

Uncaught RangeError:未知的范围(无限死循环)

Unexpected token:意外的符号



标签:编程语言  javascript  json  html


分享到:

上一篇:python资料汇总

下一篇:利用DataList多列展示数据

>>相关新闻推荐

tubiao商城小程序定制开发的优势tubiao定制型小程序的优势有哪些
tubiao电商小程序开发有什么难度吗?tubiao开发一个商城小程序需要哪些步骤
tubiao商城小程序定制开发贵吗tubiao社区团购小程序如何制作

>>最新新闻

更多

tubiaorealme 9 Pro...

2022/1/23

tubiao太空军事竞争加剧

2022/1/23

tubiao豪华车格局生变,特斯拉开...

2022/1/22

tubiao中国空军“特级飞行员”和...

2022/1/22

tubiao科技巨头“大杀器”要来了!

2022/1/22

tubiao“元宇宙拓疆者”卷土重来...

2022/1/22

tubiao6G竞争风起云涌,中国能...

2022/1/21

>>新闻推荐

更多

tubiao作为创始人的你必须先做好...

2017/6/27

tubiao为什么创业和投资越来越难了?

2017/6/27

tubiao创业者的8大误区,看看你...

2017/6/27

tubiao论述股份制企业的股份分配...

2017/6/15

tubiao没有亏过钱的创业者,不足...

2017/6/27

tubiao外贸公司如何快速找客户

2017/7/25

tubiao创业五步法则,教你好创业

2017/6/27